最近のトラックバック

2019年5月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

« syntax-case実装開始 | トップページ | Ver. 0.1.0リリース »

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」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: syntax-caseひとまず完成:

« syntax-case実装開始 | トップページ | Ver. 0.1.0リリース »