Lisp Scheme Part17 ..
[2ch|▼Menu]
464:デフォルトの名無しさん
07/05/27 23:49:36
syntax-caseで書くならこんなカンジか?

(define-syntax define&
(lambda(x)
(syntax-case x ()
((k sym obj)
(with-syntax
((s
(datum->syntax-object (syntax k)
(eval (syntax-object->datum (syntax sym))
(interaction-environment)))))
(syntax (define s obj)))))))

petite chez schemeで試してみたが、こういうテストケースでは動くことを確認した。

(define& (string->symbol (string-append "a" "b")) 1)
ab ;-> 1

結局のところ、今はschemeに足りないところがあるのはそのとおりだと思う。
でもな、完成されたものを使うだけってつまらないと思うわけ。
マクロに関しても色んな提案があってそれぞれ細かい部分で利点も問題点もかかえてて、
それがどう収束していくかってなかなか面白いことじゃないか。
ま、仕事で使うならそうもいってられんのだろうが。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5391日前に更新/220 KB
担当:undef