Lisp リスト操作期

完全に Lisp リスト操作期に入ったと自覚。
自分がこの期に入ったかどうかは「fold, quasiquoteを喜んで使っているか?」で判定できます。
gca.el との相乗効果でリスト操作とか楽しくてたまらない。

こんなコードをさくっと書けると気持ちよい。

(define (begin->lambda sexp)
  (let ((body (cdr sexp)))
    `((lambda () ,@body))))

(define (let*->lambda sexp)
  (let ((args (cadr sexp))
        (body (caddr sexp)))
    (fold-right (lambda (arg b) `((lambda (,(car arg)) ,b) ,(cadr arg))) body args)))


主観だけど

  • 選んでいる題材
  • 選んでいる言語

の組み合わせが相性が良くて、人生で一番開発効率が良いかもしれない。