最近のトラックバック

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  
無料ブログはココログ

« 2010年1月 | トップページ | 2010年3月 »

2010年2月

Ver. 0.1.0リリース

Schluessel Ver.0.1.0をリリースしました。
syntax-caseの一部機能(syntax-case, syntax, quasisyntax等)を追加しました。
(with-syntaxは現時点ではサポートしていません)
今回のリリースでScheme言語コアの拡張はひとまず終了して、ライブラリの拡張をしていきたいと思います。

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(#`)や意図した変数の捕捉は可能なので、マクロとしての表現力は上がったと思います。

 

« 2010年1月 | トップページ | 2010年3月 »