Télécharger la présentation
1
Directives Ocaml Définition
Commandes, introduites par le symbole #, permettant de modifier le comportement de la boucle d’interaction Ocaml. Exemples #quit Quitter la boucle d’interaction Compile et charger un fichier source (généralement d’extension .ml) #use #directory Ajoute un chemin de recherche #cd Change le répertoire courant
2
Déclaration de variables en Ocaml
Variable Ocaml Une liaison entre un nom et un valeur. Types de déclaration Déclaration globale Let <nom > = <expression > Déclaration locale Let <nom > = <expression 1> in <expression 2 >
3
Exemple d’évaluation La valeur de y est celle retournée par expression
Let y = let x = 1 in if x = 0 then 4 else 5 ;; Let <nom > = <expression > Introduire une valeur Nom de la variable Expression renvoyant une valeur La valeur de y est celle retournée par expression
4
Exemple d’évaluation let x = 1 in if x = 0 then 4 else 5;;
Let <nom > = <expression 1> in <expression 2 > let x = 1 in if x = 0 then 4 else 5;; Nom de la variable locale Portée de la variable locale La valeur retournée est celle de expression2
5
P1 S Pn Vue générale des fonctions ? Paramètres d’entrées
Valeur en sortie
6
Définition fonction f : R --------------------> R f (x) = x + 1
Définition mathématique Préciser l’ensemble de départ et l’ensemble d’arrivé Définir le corps de la fonction f : R > R x > y = x + 1 f (x) = x + 1 Type : int > int
7
Définition fonction En Ocaml Syntaxe 1
let double = function x --> 2*x ;; Syntaxe 2 let double x = 2*x ;; Syntaxe 3 let double (x) = 2*x ;;
8
Représentation graphique
f : E1 : t > E2 : t2 x > y = f (x) = x+1 f f (x) = x+1 E1 E2 int int
9
Exemple ‘a Fonction polymorphe f : ‘a ----> int f int
# let f = function x -> 1 ;; Fonction polymorphe f : ‘a ----> int f ‘a int
10
Autres exemples # let f = function x -> 1 ;;
int f : ‘a > int f # let f = function x -> x ;; f : ‘a ---> ‘a ‘a ‘a f # let f = function x -> x+1;; f : int ---> int int int
11
Fonction qui rend une fonction en résultat « fonction d’ordre supérieur »
Fonction qui prend une ou plusieurs fonctions en entrée et/ou renvoie une fonction T’ > T’’ Let f = function x -> ( function y -> x+y );; T1 T2 Type : int -> (int ->int) int -> int ->int ‘’->’’ s’associe à droite
12
let h = ( fun f -> (fun x -> f(x) /. x) );;
h : fonction Ensemble1 : T1 Ensemble2 :T2 Ensemble3 :T3 Ensemble4 :T4 Ensemble5 :T5 Ensemble6 :T6 float float float float
13
let h = ( fun f -> (fun x -> f(x) /. x) );;
* float float float float h: (float -> float) -> (float -> float) h: (float -> float) -> float -> float
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.