2

Haskell のラムダ構文のマクロ形式を作成しようとしていますが、最後の微調整を除いてかなり近いです。マクロがマクロと最初の引数の間にスペースを必要としないようにするにはどうすればよいですか?

例えば:

(reduce (/x y -> x y) [1 2 3])

それ以外の:

(reduce (/ x y -> x y) [1 2 3])

これは不可能だと思いますが、確実に知る唯一の方法は、知っている人に尋ねることです。

4

2 に答える 2

2

いいえ、しかし、もっと野心的なことをしたい場合は、with-haskell-lambdas名前空間全体をラップする別のマクロを定義できます。そのマクロは、その下にあるすべてのフォームを調べます。たとえば、tree-seq を使用して、フォームのシンボルを見つけて/x、代わりにそれらを使用し/ xます。

于 2013-05-04T20:54:30.010 に答える