Size: a a a

2020 March 18

l

lispbot in Lisp Forever
knet> ERROR: Unbound variable: перевод
источник

ХЛ

Хороший Лисичко in Lisp Forever
(define suc (lambda (n) (lambda (f) (lambda (x) (f ((n f) x))))))
источник

l

lispbot in Lisp Forever
knet> ;Value: suc
источник

AK

Andrew Kravchuk in Lisp Forever
Alex Peresmeshnik
Или в ядро надо пихать?
По сути, тебе нужно уметь запускать функции на этапе компиляции (ну или перед интерпретацией)
источник

AP

Alex Peresmeshnik in Lisp Forever
Andrew Kravchuk
Про это целая книжка - Lisp in small peices
Ну это они там грамотный eval делают
источник

ХЛ

Хороший Лисичко in Lisp Forever
(define +1 (lambda (x) (+ x 1)))
источник

l

lispbot in Lisp Forever
knet> ;Value: +1
источник

AK

Andrew Kravchuk in Lisp Forever
Alex Peresmeshnik
Ну это они там грамотный eval делают
Ну вот тебе тоже придётся)
источник

A

Aragaer in Lisp Forever
(define add (lambda (f g) (lambda (x) (f (g x)))))
источник

l

lispbot in Lisp Forever
knet> ;Value: add
источник

ХЛ

Хороший Лисичко in Lisp Forever
(define ev-num (lambda (n) ((n +1) 0)))
источник

l

lispbot in Lisp Forever
knet> ;Value: ev-num
источник

AP

Alex Peresmeshnik in Lisp Forever
Andrew Kravchuk
Ну вот тебе тоже придётся)
Ну да, вопрос только в том, хватит ли текущих рычагов для такого эвала )
источник

A

Aragaer in Lisp Forever
(((add (suc zero) (suc zero)) +1) 0)
источник

ХЛ

Хороший Лисичко in Lisp Forever
(ev-num (suc zero))
источник

l

lispbot in Lisp Forever
knet> ;Value: 1
источник

l

lispbot in Lisp Forever
knet> ;Value: 1
источник

A

Aragaer in Lisp Forever
хм, я криво определил add видимо
источник

ХЛ

Хороший Лисичко in Lisp Forever
(define add (lambda (a b) ((a suc) b)))
источник

l

lispbot in Lisp Forever
knet> ;Value: add
источник