COMMON LISP JP > Archives > 2009/07/30

2009/07/30 06:44:52 UTCg000001
#
lequeさん物凄い勢いでLOLをSchemeでやってますね('-'*)
2009/07/30 06:47:10 UTC(び)
#
実はわたしも途中までGaucheのdefine-macroでLOL写経をやってて、CLのラムダリストをサポートしようとして止まっています
#
実はGaucheって隠し機能(?)でCL的なラムダリストが扱えるのだけど
#
defmacroのラムダリストまでは扱えないっぽいので
2009/07/30 07:08:40 UTCshiro
#
defmacroのラムダリスト(拡張部分)ってなんかアドホックな感じであんまり食指が動かないというか.
2009/07/30 07:13:35 UTC(び)
#
はい、わたしもそう思いますが
#
何というか、筋トレみたいなノリで実装に手をつけてしまった(笑)
2009/07/30 07:24:22 UTCleque
#
LOL の変態マクロを移植してると楽しすぎて変な脳汁が出ます(笑)
#
もう少し移植できないのが多いかなと思ったんですが
#
ところで最近の #Lisp_Scheme のログ保存してる方っていますか?
2009/07/30 07:51:29 UTC(び)
#
define-macro+gensym マンセー、ですね(笑)
#
でも、ほんとにそう思う最近
2009/07/30 12:39:15 UTCg000001
#
あ、そういえば、最近全然#lisp_schemeにjoinしてないと思ったら
#
ロガー無くなったんですね
#
そういえば、defmacroとかだけdestruturing-bindとか&whole使えますよね >ラムダリスト
#
誰も興味ないと思いますが、自分は、&auxとletの関係について興味がありまして…
#
&auxは実はletより早くlispマシンに導入されたんじゃないか説を考えているのですが、
#
どなたか真相をご存知の方は是非教えて下さいw
#
&auxとlet*は思い切り機能が被ってるんですよね
2009/07/30 12:55:55 UTCg000001
#
ちなみにlispマシンにあったけれど、CLでは消滅したものに、&quote、&eval、&list-ofがあったりします。
2009/07/30 13:26:20 UTCg000001
#
(destructuring-bind (x y &list-of (a . b)) '(1 2 ((a 1) (b 2) (c 3)))
  (list x y a b))
;=> (1 2 (A B C) ((1) (2) (3)))
#
&list-ofは便利といえば、便利しかし…
2009/07/30 13:37:32 UTCshiro
#
真相は知らないけれど、&auxはいかにもletが無い時代に「ローカル変数を使う苦肉の手段」として入ったようにみえる仕様ですね。
#
そういえばawkでローカル変数を使うのに余分な引数を宣言しといて使うって手があったような。