Université Paris 6 Licence d'informatique | Module de Programmation Année 2000-2001 |
---|
Env0
. Vous indiquerez les contraintes que doit vérifier
Env0
pour pouvoir typer chacune de ces phrases.4 < 3;; "debut " ^ "fin";; string_of_int 34;; x = false;;
Env0
.let f = function x -> 3*x+1;;
let h = function par -> par & (par < 1);;
let g = function x -> function y -> x*y+1;; g (f 1) 2;; let k = g (f 1);;
let a = 3 and b = 1;; let g = function x -> a*x+b;; g 1;; let a = 0 and b = true;; g 1;; let f2 = function x -> let a = 3 and b = 1 in a*x+b;; f2 1;; let f3 = let a = 3 and b = 1 in function x -> a*x+b;; f3 1;; let h = function x -> (fst x,x);;Qu'en concluez-vous sur le type de la fonction
h
?
Env0
.(1) let code = 1900;; (2) let g = let code = 10 in function y -> y + code;; (3) g 25;; (4) code;; (5) let k = function (f,x) -> f (g (x-1)) + 2;; (6) k (function z -> z + code, 3) ;;
let double_applic = function (f,x) -> f(f (x+1)) ;;
(double_applic (succ,25))
?
let x = 1 and y = 2;; let x = 0 and y = x-1;; let h = function f -> function g -> function z -> f ((g (x+z))+y);; h 10;; let x = 1 and y = x+1;; h 10;;
let a = 1;; let k = function y -> y - a;; let h = function u -> u + k(u);; let f = function v -> h(v) + v;;Typez la déclaration:
f 25;;
Ce document a été traduit de LATEX par HEVEA.