Code Aquarium

minazoko's blog -*- 水底のブログ -*-

ClojureのスレッドマクロをSchemeで

Clojureのマクロ -> と ->> のScheme版です。動作確認はRacketでしましたが、syntax-rulesしか使ってないので他の処理系でも動くかな?

apply->とapply->>は補助用のヘルパマクロです。似たような構造が並んでいるので共通部分を共通化することも考えましたが、この程度だとむしろベタに並べた方が分かりやすいのかなと思ってこうなりました。

 Schemeではnumber->stringやstring->listのようにデータ変換の意味で->を使うので、意味の異なる用途である上記のマクロにこういう名前を付けるのは好ましくない気がしますね。Clojureを知ってる人に見せる分には問題ないのですが。