From 92ee851ccfee8ac13a055cbdad503789ffa2a6b9 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 28 Oct 2015 06:18:39 -0700 Subject: Add some tests for continuations. * tests/012/cont.tl: New file. * tests/012/cont.expected: New file. --- tests/012/cont.tl | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 tests/012/cont.tl (limited to 'tests/012/cont.tl') diff --git a/tests/012/cont.tl b/tests/012/cont.tl new file mode 100644 index 00000000..6bdfa14c --- /dev/null +++ b/tests/012/cont.tl @@ -0,0 +1,19 @@ +(load "../common") + +(vtest (let ((f (obtain (for ((i 0)) () ((inc i)) (yield i))))) + (take 2000 (gun (call f)))) + (range* 0 2000)) + +(defun yflatten (obj) + (labels ((flatten-rec (obj) + (cond + ((null obj)) + ((atom obj) (yield-from yflatten obj)) + (t (flatten-rec (car obj)) + (flatten-rec (cdr obj)))))) + (flatten-rec obj) + nil)) + +(test (let ((f (obtain (yflatten '(a b (c . d) (e (f (g)))))))) + (gun [f])) + (a b c d e f g)) -- cgit v1.2.3