Programmation fonctionnelle
et Preuves
Etudiants:
Elkira Anass
Gupta Umang
Encadrant:
M. Thiry Laurent 2A IR
2013-14
Fonction d'ordre supérieur
(fonctions comme valeurs)
map :: (a -> b) -> [a] -> [b]
double x = x * 2
map double [1,2,3,4]
->[2,4,6,8]
Curryfication
(les fonctions en Haskell
prennent un seul argument)
add x y = x + y
a = add 5
a 4
-> 9
Fonction anonyme
(fonction sans nom)
(\x -> x + 1) 5
-> 6
map (\x- > x + 1 ) [1,2,3,4]
->[2,3,4,5]
C++
Haskell
Quick Sort
concis
paresseux
*It is also possible to write imperative programs in Haskell! Easy, even. Now that you know you can, don’t.
robuste
Haskell
C'est purement fonctionnel*
correct
génération automatique
du code Haskell
Introduction AxiomeElimination
ts |- A => B
ts |- A => B ts |- A
ts |- A => Bts |- B
ts, A |- B
Règles on utilise pour faire des preuves:
t
h
é
o
r
è
m
e
e
r
t
i
é
p
a
r
certié
conforme au
spécications
Une preuve est un fait ou un raisonnement propre à établir solidement la vérité.
-wikipédia
Coq
Haskell
Les 3 points-clés de la programmation fonctionnelle:
Les principales caractéristiques de Haskell:
Une preuve mathématique
"How do you know it works, did you test it??"
-"No, I proved it."
1 / 1 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !