Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2014
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.36 KB | None | 0 0
  1. (define (execute expr)
  2. (lambda (x)
  3. (let recur ((expr expr))
  4. (case expr
  5. ((x) x)
  6. ((+) +)
  7. ((-) -)
  8. ((*) *)
  9. ((/) /)
  10. (else
  11. (if (list? expr)
  12. (apply (recur (car expr)) (map recur (cdr expr)))
  13. expr))))))
  14.  
  15. > (define foo (execute '(* (+ 1 x) (- x (* 2 3)))))
  16. > (foo 42)
  17. => 1548
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement