(use miscmacros fluids) (time (dotimes (i 10000) (let ((f (make-fluid 'a)) (path '()) (g (make-fluid 'g)) (c #f)) (let ((add (lambda () (set! path (cons (f) path))))) (add) (fluids ((f 'b)) (g (call-with-current-continuation (lambda (c0) (set! c c0) 'c))) (add) (f (g)) (add)) (f 'd) (add) (if (< (length path) 5) (c 'e) (reverse path))))))