Last login: Thu Mar 18 13:19:07 on console MacBook-de-Eric-Rudz:~ eric$ ocaml Objective Caml version 3.11.1 # open List; ; ;; Error: Syntax error # open List;; # let double a=2*a;; val double : int -> int = # let liste_des_doubles a=(map)(double)(a);; val liste_des_doubles : int list -> int list = # let liste_des_double= function a-> map double a;; val liste_des_double : int list -> int list = # let rec plus(n,m) = if n=0 then m else plus(m,n-1)+1;; val plus : int * int -> int = # let accumule(depart, op_binaire) = let rec f l= if l=[] then depart else op_binaire(hd(l),f(tl(l))) in f;; val accumule : 'a * ('b * 'a -> 'a) -> 'b list -> 'a = # accumule(1,plus)([1;2;3;4]);; - : int = 11 # accumule(4,plus)([1;2;3;4]);; - : int = 14 # let rec fois(m,n)= if m=0 || n=0 then 0 else if n=1 then m else fois(n,m-1)+n;; val fois : int * int -> int = # accumule(4,fois)([1;2;3;4]);; - : int = 96 # let pour_tous = function(p) -> let rec f = function(la) -> if(la=[]) then true else if(p(hd(la))) then f(tl(la)) else false in f;; val pour_tous : ('a -> bool) -> 'a list -> bool = # let pour_tous_strictement_positif = pour_tous(function x -> x>0);; pour_tous_strictement_positif([-1;-2;0]);; pour_tous_strictement_positif([1;2]);; let pour_tous_chaine_vide = pour_tous(function x -> x="");; pour_tous_chaine_vide(["abc";"bdc"]);; pour_tous_chaine_vide(["";""]);; val pour_tous_strictement_positif : int list -> bool = # - : bool = false # - : bool = true # val pour_tous_chaine_vide : string list -> bool = # - : bool = false # - : bool = true # let pour_tous_egal_un= pour_tous(function x->x=1);; val pour_tous_egal_un : int list -> bool = # pour_tous_egal_un([1;2;3]);; - : bool = false # pour_tous_egal_un([1;1;1;1]);; - : bool = true # let filtre = function (p) -> let rec f = function(l) -> if(l=[]) then [] else if(p(hd(l))) then hd(l)::f(tl(l)) else f(tl(l)) in f;; val filtre : ('a -> bool) -> 'a list -> 'a list = # let filtre_les_pairs=filtre(function x->x>0);; val filtre_les_pairs : int list -> int list = # filtre_les_pairs([-1;2;-3;-4;7]);; - : int list = [2; 7] #