racket/pkgs/racket-test/tests/future/tail-end.rkt
Matthew Flatt 2d4f3e2ac9 remove the "racket-pkgs" directory layer
The layer is now redundant, since everything left in "pkgs" is in the
"racket-pkgs" category.
2014-12-08 05:22:59 -07:00

20 lines
303 B
Racket

#lang racket/base
(require racket/future)
;; This example ends up with a delayed tail call
(let ()
(struct a (x))
(define an-a (a 10))
(define ((f arg) x)
(x arg))
(set! f f)
(void ((f an-a) a-x))
(define f1 (future (lambda ()
((f f) (f f)))))
(touch f1))