#lang racket ; 5 (sau 6, dacă numărăm și test) variabile (define test (λ (x y) ; prima apariție pentru x și y din λ exterior, nu au alte apariții (λ (x y) ; prima apariție pentru x și y din λ interior (λ (z) ; prima apariție pentru z (+ x y z) ; prima apariție pentru x și y este la 4; prima apariție pentru z este la linia 5 )))) ; apăsați pe Check Syntax și apoi puneți mouse-ul pe variabile (define f (λ (a b) ; λ cu Ctrl-\ (if a b ( (λ (a b) (cons a b)) 1 a) ))) ; implementări cu fold (define (deep-rev L) (foldl (λ (e rez) ; în rezultat am deep-rev peste partea din L dinainte de e ; e.g. pentru e = 6 ; am în rez ((5 4) (3 2 1)) (cond ((not (list? e)) (cons e rez)) (else (cons (deep-rev e) rez)) ) ) '() L)) (define L1 '((1 2 3) (4 5) 6 (7 (8 9 (10 11) 12))))