;permet de calculer la distributivité (define y (lambda(f)(let ((g (lambda(h)(lambda(x)((f(h h)) x ))))) (g g)))) (define fact(y (lambda(f)(lambda(n)(if(= n 0) 1 (* n (f(- n 1)))))))) (define double (lambda(x)(+ x x))) (define (distr f)(lambda (l) (if(null? l) l (cons(f(car(l)))((distr f)(cdr l)))))) ;le test (distr fact'(5 2 3 4 6 8))