La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Let rec f n = if n = 0 then true else g (n-1) g n = if n = 0 then false else f (n-1) val f : int -> bool = val g : int -> bool =

Présentations similaires


Présentation au sujet: "Let rec f n = if n = 0 then true else g (n-1) g n = if n = 0 then false else f (n-1) val f : int -> bool = val g : int -> bool ="— Transcription de la présentation:

1 let rec f n = if n = 0 then true else g (n-1) g n = if n = 0 then false else f (n-1) val f : int -> bool = val g : int -> bool =

2 true false n =0 f (n) n =0 g (n) n -1 n n oui non

3 let d = function f -> (f 0) ;; d int f ‘a Type : (int -> ‘a) -> ‘a

4 d (function x -> x+1) = let d = function f -> ( f 0 ) ;; d ( function x -> "argument" ^ (if x=0 then "" else "non") ^ "nul ") = 0+1 = 1(function x -> x+1) 0 = (function x -> "argument" ^ (if x=0 then "" else "non") ^ "nul") 0 = "argument " ^ (if 0 =0 then "" else "non ") ^ "nul" = "argument " ^ "" ^ "nul" = "argument nul " f

5 fun f x y -> (f x) y ;; g = function f -> function x -> function y -> (f x) y ;; g x : ‘a f y : ‘b f x ‘c x : ‘a * ‘c y : ‘b - : ('a -> 'b -> 'c) -> 'a -> 'b -> 'c = <fun>

6 fun f x y -> (f x) / (f y) ;; Paramètres de la fonction 123 function f -> function x -> function y -> (f x) / (f y) ;;

7 fun f x y -> (f x) / (f y) ;; x : ‘a f (f x) : ‘int * * x : ‘a y : ‘aint ('a -> int) -> 'a -> 'a -> int = <fun>

8 fun f x y -> f x, y ;; Premier paramètre Deuxième paramètre Troisième paramètre Corps de la fonction f x, y Couple dont la première composante est f (x) et la deuxième composante est y

9 x : ‘a (f x) : ‘b f x : ‘a ‘b*’c y : ‘c fun f x y -> f x, y ;; - : ('a -> 'b) -> 'a -> 'c -> 'b * 'c =

10 fun f x y -> f (x, y) ;; ‘a*’b ‘c ‘a ‘b ‘c Type : - : (‘a*’b) -> ‘a ->’b -> ‘c

11 fun f x y -> f ( x y f) ;; function f -> function x -> function y -> f ( x y f) ;;

12 fun f x y -> f ( x y f) ;; ‘a f ‘b y:‘c x (X y) ‘a ‘c‘b (a -> b) -> (c -> (a -> b) ->a) -> c -> b (a->b)->((c->((a->b)->a))->(c->b)) ‘a f ‘b

13 fun f x y -> (f x) (y f) ;; ‘a f ‘b ‘c y f (x) ‘a ‘c - : ('a -> 'b -> 'c) -> 'a -> (('a -> 'b -> 'c) -> 'b) -> 'c = <fun> x ----> ‘a ‘b y (f ) ----> ‘b (f x) (y f) ----> ‘c f

14 Let fact = funtion 0 -> n | n -> n * fact (n-1);; Let negation = function true -> false | false -> true ;; Définition de fonction par filtrage

15 let entier_it f a = let rec g = function 0 -> a | n -> f (g (n-1)) in g ;; val entier_it : ('a -> 'a) -> 'a -> int -> 'a = <fun> 'a int 'a


Télécharger ppt "Let rec f n = if n = 0 then true else g (n-1) g n = if n = 0 then false else f (n-1) val f : int -> bool = val g : int -> bool ="

Présentations similaires


Annonces Google