ly(rical)sh
lysh*1 で最小 Lisp ± α。とりあえず↓は出たものの、何かが壮絶に間違っている予感。でも七月の月報が怖いから深追いしない。
lysh$ source min-lisp-plus-minus.lsh > (define fix (lambda (f) ((lambda (x) (lambda (y) ((f (x x)) y))) (lambda (x) (lambda (y) ((f (x x)) y)))))) fix > (define fact (fix (lambda (f) (lambda (n) (if (< n 1) 1 (* n (f (- n 1)))))))) fact > (fact 6) 720 > (define k (call/cc call/cc)) k > k #<closure> > (k 123) k > k 123
*1:バージョン 0.0.0.0.1.0.6.5 以降でないと動きません。