гиковые развлекухи
Jul. 16th, 2010 04:56 amРешил по примеру
avva написать на коленке интерпретатор языка
scheme (завёл для этого
проект на github.com). Вот что оно сейчас умеет:
> +
#<builtin procedure (#\+)>
> lambda
#<builtin syntax (lambda)>
> (lambda (x) (+ x x))
#<procedure ((x) (+ x x))>
> (((lambda (X)
((lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))
(lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))))
(lambda (func-arg)
(lambda (n)
((_if (= 0 n)
(lambda () 1)
(lambda () (* n (func-arg (- n 1)))))))))
5)
120
>
Обычно на этой фазе как раз все и бросают :) Ну, посмотрим.
no subject
Date: 2010-07-16 09:44 am (UTC)P.S. и реализацию R6RS в полном объеме :-)
no subject
Date: 2010-07-16 09:46 am (UTC)no subject
Date: 2010-07-16 11:28 am (UTC)