diff --git a/src/examples/fact-iter.rls b/src/examples/fact-iter.rls new file mode 100644 index 0000000..6133904 --- /dev/null +++ b/src/examples/fact-iter.rls @@ -0,0 +1,5 @@ +(letrec ([fact-iter (lambda (n product) + (if (fix> n 1) + (fact-iter (fix- n 1) (fix* n product)) + product))]) + (fact-iter (string->number (car argv)) 1)) diff --git a/src/examples/fact-recurse.rls b/src/examples/fact-recurse.rls new file mode 100644 index 0000000..64406cc --- /dev/null +++ b/src/examples/fact-recurse.rls @@ -0,0 +1,5 @@ +(letrec ([fact (lambda (n) + (if (fix> n 1) + (fix* n (fact (fix- n 1))) + 1))]) + (fact (string->number (car argv)))) diff --git a/src/examples/test.rls b/src/examples/test.rls new file mode 100644 index 0000000..1b454d8 --- /dev/null +++ b/src/examples/test.rls @@ -0,0 +1,13 @@ +(let (a [b 3] [c b]) + (if (positive? d) + (+ a b c) + (fn d + (begin + (let ((k (lambda () (set! b 5)))) + (k)) + (set-box! free-var 7) + (set-box! free-var (lambda () 7)) + 8 + (list a (cons b '()))) + (cons c (let (e) e))))) +