racket compile2lc.rkt "n" "0"

racket compile2lc.rkt "n" "1"

racket compile2lc.rkt "n" "10"

racket compile2lc.rkt "b" "#f"

racket compile2lc.rkt "b" "#t"

racket compile2lc.rkt "n" "(+ 2 3)"

racket compile2lc.rkt "n" "(succ 3)"

racket compile2lc.rkt "n" "(pred 3)"

racket compile2lc.rkt "n" "(- 4 3)"

racket compile2lc.rkt "n" "(* 3 4)"

racket compile2lc.rkt "b" "(zero? 4)"

racket compile2lc.rkt "b" "(zero? 0)"

racket compile2lc.rkt "(l n)" "(list 1 2 3)"

racket compile2lc.rkt "(l n)" "(let ((foo 1) (bar 2)) (list foo bar 3))"

racket compile2lc.rkt "n" "(letrec ((map (lambda (l) (if (null? l) 0 (+ (car l) (map (cdr l))))))) (map (list 1 2 3)))"

racket compile2lc.rkt "(l n)" "(letrec ((map (lambda (f l) (if (null? l) nil (cons (f (car l)) (map f (cdr l))))))) (let ((sqr (lambda (n) (* n n)))) (map sqr (list 1 2 3 4 5 6 7 8 9 10))))"

racket compile2lc.rkt "(l n)" "(letrec ((filter (lambda (p l) (if (null? l) nil (if (p (car l)) (cons (car l) (filter p (cdr l))) (filter p (cdr l))))))) (letrec ((evenp (lambda (n) (if (zero? n) #t (if (zero? (pred n)) #f (evenp (- n 2))))))) (letrec ((map (lambda (f l) (if (null? l) nil (cons (f (car l)) (map f (cdr l))))))) (let ((sqr (lambda (n) (* n n))) (oddp (lambda (n) (not (evenp n))))) (filter oddp (map sqr (list 1 2 3 4 5 6 7 8 9 10)))))))"
