問題タブ [gambit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
111 参照

scheme - ネストされた省略記号マクロが Guile と Racket で機能しない

単純なネストされたマクロを作成しようとしています。私の Scheme 実装では動作しますが、Guile と Racket では動作しません。

  • ガイルスロー:

構文: 省略記号がありません

  • ラケット投げ:

テンプレートにパターン変数の省略記号がありません

私もGambitで実行しようとしましたが、それはただスローされます:

バインドされていない変数: define-syntax

基本的なスキームを使用するには、ライブラリを使用する必要があると思います。

Checken スキームでは、省略記号を更新した後:

スロー:

テンプレートの寸法エラー (楕円が少なすぎますか?): x

このマクロの何が問題になっていますか? エラーが発生するのはなぜですか?

編集

このパターンは有効ではないようです:

しかし、これは

これはどこかに指定されていますか?最初の構文が有効でないのはなぜですか?

念のために言っておきますが、このコードはコンパイルできますが、なぜ最初のコードはコンパイルできないのでしょうか?

fooしかし、マクロを使おうとするとうまくいきません。それはスローします:

非バインド変数: bar

使用時もletrec-syntax