0
Clojureでコンパイル時に情報を共有する一連のマクロを作成する最良の方法は何ですか?マクロ間で状態を渡す
私はマクロに以前のマクロが何をしたのかを知って、それに応じて行動する方法を探しています。あなたは、次のように使用することができますマクロを実装する方法を:これはマクロで、コンパイル時に発生する必要が
(macro-block-with-data ["A" "B" "C"]
(process-next-data-item) ; macro expands using "A"
(process-next-data-item) ; macro expands using "B"
(process-next-data-item)) ; macro expands using "C"
明確化
- を、実行時に定期的に機能していない、つまり
...結果私はおそらく十分に質問を理解していません。読んでみると、あなたが望むように思えます。(map process-next-data-item ["A" "B" "C"]) 'そうでなければ、多分あなたはこれを少しはっきりさせることができます。 –
@kwbeam - a)コンパイル時にする必要があり、b)一般的にコードは単純なマップ操作ではないため、各プロセス間に他のコードがたくさんある可能性があるため、データ項目呼び出し、およびc)単なるシーケンスではなく、データが何か(例えばマクロが展開された回数など)である可能性があります。 – mikera