(load "cpsA.ss") ;;; LAM guarantess that (CLAM (id) (APk x id)) translates to x ;;; provided that x is a symbol and unequal to id. (eta rule). (define CLAM (lambda (E) (let ((formal (gen-sym "v"))) (let ((body (E formal))) (match body [(APk ,e ,x) (guard(eqv? x formal)) e] ;;**opt** [,other `(CLAM (,formal) ,body)]))))) (load "cps-tester.ss") (define header "****************************** B *********************") (newline) (test-all header) (define resultsB test-results)