syntax-caseひとまず完成
syntax-caseを使用したマクロの実装がひとまず終了しました。
ただ、現時点でR6RS準拠のレベルまで達成することはできませんでした。
たとえば、R6RSの仕様書にある、with-syntaxを記述する次のようなマクロは現在うまく動作しません。
------------------------------------------------
(define-syntax with-syntax
(lambda (x)
(syntax-case x ()
((_ ((p e0) ...) e1 e2 ...)
(syntax (syntax-case (list e0 ...) ()
((p ...) (let () e1 e2 ...))))))))
------------------------------------------------
けれども、syntax-case, syntax(#'), quasisyntax(#`)や意図した変数の捕捉は可能なので、マクロとしての表現力は上がったと思います。
« syntax-case実装開始 | トップページ | Ver. 0.1.0リリース »
「Scheme」カテゴリの記事
- Schluessel Ver. 0.4.3をリリースしました(2012.12.15)
- Twitter始めました(2012.08.09)
- オープンソースカンファレンス2012 Kyotoの資料をアップロードしました(2012.08.09)
- Schluesselのドキュメントを英訳しました(2012.08.08)
- オープンソースカンファレンス2012 Kyotoに参加しました(2012.08.08)
この記事へのコメントは終了しました。
コメント