Haskell でプログラムを動かしたときに,その実行とレースを取りたいことが時々?ある.でも,一般にHaskellで文字列を出力しようとするとモナドが出てきて面倒.
で,簡単にそれをやる方法があった.Debug.Trace.trace という関数でそれが簡単にできる.例えば mis の途中結果を知りたければ
import Debug.Trace mis [] i = i mis (x:xs) i = trace (show x ++" with "++show i) (mis xs (max i 0 + x))
とすれば途中結果が見れる.かなりありがたいかも.ただ,表示ために本来計算しない部分を計算したりすると動作が変わるので注意.
- Newer: AWK - はじめ