最近の anarchy golf

(load "./lazier.scm")
(load "./prelude.scm")
(load "./prelude-numbers.scm")

;; そのまま的なやつ 973 byte
(print-as-unlambda
  (laze
    '(lambda(x)
      (cons 72(cons 101(cons 108(cons 108(cons 111(cons 44(cons 32
        (cons 119(cons 111(cons 114(cons 108(cons 100(cons 33 end-of-output))))))))))))))))
;; 工夫してみた 949 byte
(lazy-def
  '(foo f x y) '(ifnonzero y (f (cons(+ 30 y)x)) x))
(print-as-unlambda
  (laze '(lambda(x)((Y foo) end-of-output 3 70 78 84 81 89 2 14 81 78 78 71 42 0))))

先生! Y コンビネータは Lazy K で繰り返し処理をするために存在しているのですね!