Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Haskell のラムダ構文のマクロ形式を作成しようとしていますが、最後の微調整を除いてかなり近いです。マクロがマクロと最初の引数の間にスペースを必要としないようにするにはどうすればよいですか?
例えば:
(reduce (/x y -> x y) [1 2 3])
それ以外の:
(reduce (/ x y -> x y) [1 2 3])
これは不可能だと思いますが、確実に知る唯一の方法は、知っている人に尋ねることです。
いいえ、しかし、もっと野心的なことをしたい場合は、with-haskell-lambdas名前空間全体をラップする別のマクロを定義できます。そのマクロは、その下にあるすべてのフォームを調べます。たとえば、tree-seq を使用して、フォームのシンボルを見つけて/x、代わりにそれらを使用し/ xます。
with-haskell-lambdas
/x
/ x