hoist.scm 322 B

123456789101112131415161718
  1. ; Part of Scheme 48 1.9. See file COPYING for notices and license.
  2. ; Authors: Richard Kelsey
  3. (define (foo x y)
  4. (let ((bar (lambda (y)
  5. (let ((baz (lambda (a b)
  6. (foo (- a 2) (+ 3 b)))))
  7. (+ (baz y 1) (baz (+ y 1) 2))))))
  8. (if (= x 0)
  9. (goto bar 10)
  10. (goto bar 4))))
  11. (define (test)
  12. (foo 30 40))