読者です 読者をやめる 読者になる 読者になる

CLでshorten lambda

http://blog.practical-scheme.net/gauche/20100428-shorter-namesの^_a-zをxyzzyとかで使ってみようか、という事で書いてみた。
short aliases for lambda expression

ひげぽんさんのshortenライブラリにある^a*とかも付け加えてあります。

これで^_を使えば

((lambda (lambda) `((lambda (lambda) ,lambda) ',lambda)) '`((lambda (lambda) ,lambda) ',lambda))

が全部記号で書ける!!!!11 とか一瞬思ったのだけど、CLだとfuncall挟まないといけないのだよなぁ。

(のリーダーを書き変えるというとても酷い方法もあるけど、まあそこまでやっても

 * ((^_`((^_,_)',_))'`((^_,_)',_))
((LAMBDA (_) `((LAMBDA (_) ,_) ',_)) '`((LAMBDA (_) ,_) ',_))

一部LAMBDAに戻っちゃうので残念な感じ。