trampolineのデバッグ方法について
clojure 1.8 を使っています。
特にIDEなどは使っておらず、mifesやときどきvimでコードを書いておりまして、java
コマンドから直接REPL起動させ、実行結果を試しています。
純粋関数をなるべく多用することで大分デバッグが楽になったと感じているのですが、trampoline
を使うときは引数に指定された関数が返してくる関数をさらに実行しながら進むので、動的に関数の実行順序や関数に渡すデータが変わっていきます。そういう状況ではprintln
くらいでしかデバッグの方法が分かりませんでした。
しかしこの方法は do
関数に println
をいくつも書いたりしなくてはならなくなって、括弧の数も多くなりがちです。可読性が大分悪くなってしまいました。
もしきちんとプログラムを組むのであれば、こういう類をメンテナンスしていくのは正直辛くなってしまいそうです。しかしそんなことを多くの人が敢えて耐えているとも考えにくく。
そこで質問ですが、表題の通り、trampoline
の動作をデバッグするのに効率の良い方法というのがあったら教えていただきたいです。よろしくお願いします。