公式にはリードマクロは使えない事になっているようだが、怪しい事をすればいけるらしい。 http://briancarper.net/blog/clojure-reader-macros そういうわけで、ヒアドキュメントを実装してみた。 (defn dispatch-reader-macro [ch fun] (let [dm (.get (doto (.getDeclaredField clojure.lang.LispReader "dispatchMacros") (.setAccessible true)) nil)] (aset dm (int ch) fun))) ; http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/lang/reflect/AccessibleObject.html (defn read-until [reade