Please enable JavaScript.
Coggle requires JavaScript to display documents.
Programmation fonctionnelle - Coggle Diagram
Programmation fonctionnelle
chapitre 1 : Introduction à la programmation fonctionnelle
1- Les types de base
Les chaînes de caractères
String.sub
String.trim
String.index
String.rindex
String.index_from
String.rindex_from
String.contains
String.contains_from
String.rcontains_from
String.lowercase_ascii
String.uppercase_ascii
String.capitalize_ascii
String.uncapitalize_ascii
Les Booléens
not
= égalité structurelle
== égalité physique
<> non égale
!= non égale physiquement
Les caractères
'/097' pour représenter 'a'
char.lowercase_ascii et char.uppercase_ascii
char_of_int
Les réels
la division de x < 0 par 0 produit neg_infinity
la division de 0 par 0 produit NaN
la division de x > 0 par 0 produit infinity
int_of_float (-3.14) puisque int_of_float -3.14 ne travaille pas
Le type unit
print_string
print_newline
Les entiers
https://miro.com/app/board/uXjVLQr1zdQ=/
2- Les opérateurs
3- Déclarations globales
ne retourner pas une valeur
4- Déclarations locales
return une valeur
5- Expression conditionnelle
Une expression conditionnelle a toujours deux branches: les expressions dans ces branches
doivent être de même type.
6- Notion de fonction
1- Fonctions partielles
2- Fonctions plus complexes
3- Fonctions avec n-uplet d'arguments
Un n-uplet permet de mettre dans un “paquet” autant de valeurs que l’on veut. Cela est
pratique, si une fonction doit renvoyer “plusieurs” résultats
4- Fonctions anonymes
5- Polymorphisme
Chapitre 2 : Récursivité
2- Récursivité Terminale
utiliser un accumilateur
3- Les fonctions récursives croisées
and
1- Définition Récursive
4- Le type list
": :" (cons) est l’opérateur (associatif à droite)
5- Fonctions récursives sur les listes
List.hd
List.tl
List.nth
List.mem
List.rev
Chapitre 3 : Filtrage de Motif et déclaration de types
1- Motif linéaire
: Un motif doit être obligatoirement linéaire, c'est-à-dire qu'une variable donnée ne peut y figurer au plus qu'une fois. Ainsi, on aurait pu espérer pouvoir écrire : # let equal c = match c with (x,x) -> true | (x,y) -> false;; Characters 35-36: This variable is bound several times in this matching
2- Motif universel
3- Combinaison de motifs
4- Nommage d'une valeur filtrée
5- Filtrage avec garde
6- Filtrage d'intervalles de caractères
7- Filtrage des listes
8- Declaration de types
type nouveau_type = typedef ;; Le nom du type "nouveau_nom" doit commencer par une minuscule et le "typedef"
doit commencer par une majuscule
1- enregistrements
2- Types Somme
1- Constructeurs constants
2- Constructeurs avec arguments
3- Types avec paramètre unique :
4- Types avec plusieurs paramètres :
5- Types récursifs :
Chapitre 4 : Schémas de programmes
SCHÉMA REDUCE
CACHER LA RÉCURSIVITÉ
CAPTURER UN SCHÉMA DE PROGRAMMES
AUTRES SCHÉMAS CLASSIQUES
Schémas fold_left et fold_right
Schéma map
Schéma map2
Schémas de programme
Chapitre 5 : Lambda calcul
Stratégies de réduction
5- Réduction
1- Bêta-réduction
2- Delta-réduction
3- Problème de capture de variable
4- Variables libres et liées
5- Retour à la bêta-réduction
6- Alpha-réduction
7- Réduction généralisée
4- Signification des lambda-expressions
1- Signification de l'abstraction
2- Signification de l'application
3- Conventions de parenthésage
2- Syntaxe
1- Introduction
Aspects impératifs Ocaml
2- Variables
1- Champs mutables dans un enregistrement
2- Une syntaxe allégée : les références
3- Boucles
1- Boucle for
2- Boucle while
3- Itération sur les éléments d'une structure de données
4- Tableaux
1- Type 'a array
2- Parcours de tableaux