タイトルが何らかの理由で、trace
(まあ、その変種)関数に渡されたメッセージは、デバッグ機能のときに正しく表示されません。単にstdout/stderrをフラッシュしても何もしないようです。フレージトレースが印刷されない
-- Makes it more like Haskell's trace
debug :: String -> α -> α
debug msg f = const f $ trace msg
-- dummy function
polyA :: (Num α) => α
polyA = debug "polyA\n" 0
-- another dummy function
polyB :: (Num α) => α
polyB = debug "polyB\n" polyA
main :: IO()
main = do println (polyB :: Int )
println (polyB :: Int )
println (polyB :: Integer)
出力はちょうど
0
0
(通常、Eclipseのコンソールに赤い文字で表す)標準エラー出力に表示何もです。
「traceLn」を使用して「リアルタイム」で印刷することもできます – Ingo
@Ingoはい、ありがとう!私はそれを含める答えを更新しました.. –