Реализация языка Lisp на GNU sed
Опубликован интерпретатор Lisp, написанный с использованием языка утилиты GNU sed. Реализация занимает около 600 строк кода. Поддерживаются следующие функции, операторы и выражения: car, cdr, cons, eq, atom, +, -, *, /, mod, neg?, print, quote, if, lambda, defun и define. $ sed -f sedlisp.sed (car (quote (a b c))) a (cdr (quote (a b c))) (b c) (cons 1 (cons 2 (cons 3 ()))) (1 2 3) (defun fact (n) (if (eq n 0) 1 (* n (fact (- n 1))))) (lambda (n) (if (eq n 0) 1 (* n (fact (- n 1))))) (fact 10) 3628800 (defun fib (n) … Читать далее Реализация языка Lisp на GNU sed
