Previous Entry Share Next Entry
letrec
светлое будущее
potan wrote in ru_clojure
Есть ли макрос, аналогичный letrec их scheme или аналог declare, но работающий внутри let?
Через def рекурсивное определение работает нормально:
(declare z)
(def x (cons 1 (lazy-seq (map + x z))))
(def z (cons 1 x))

А через let не компилируется: (let [a (cons 1 (lazy-seq (map + a (cons 0 a))))] (take 17 a))

  • 1
Странно, в ПЛТ/Racket в языке scheme есть. Правда естественно тоже через макрос.

Там по стандарту положено.

Ох, туплю. Пришел пост по рассылке я думал это про схему вопрос.

  • 1
?

Log in