問題タブ [hygiene]

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 参照

macros - Scheme で myletstar マクロ (hygiene) を書く

衛生マクロを書き直そうとしlet*ています。通常のマクロとして持っていますが、可能であれば衛生マクロとして使用したいと考えています。私はこのマクロ型についてあまり経験がありません。だから私は本当に助けていただければ幸いです。また、動作中のlet*マクロの別の表現が機能せず、衛生マクロと同じエラーが発生します。

働くlet*

衛生状態が機能していませんlet*->エラー: ラムダ: 識別子ではありません: (caar lst)

動作していませんlet*が、2 つ目と同じエラーが発生しています。

ちょっと紛らわしい質問で申し訳ありませんが、私はすでにこの問題にしばらく悩まされており、カフェインはもう役に立ちません.

いくつかのテスト (私はシンボルキャプチャをテストするためにシンボル名を選びました (私はそうする必要がなかったことを知っています)):

編集:Lief Andersenコードを編集して、letを使用せずに解決策を追加しました。