в pure коде с минимальным изменением исходника? (ST не катит, т.к. сильно зашумляет код) Т.е. такой себе наколеночный профайлинг. Можно грязным хаком -- всё равно это временный код.
P.S. Пробовал, "от бедра" сделать через unsafePerformIO + IORef + NOINLINE + seq, но что-то он не завёлся.
используй че-ти типа trace trace :: String -> a -> a trace string expr = unsafePerformIO $ do traceIO string return expr
А зачем определять самому, если есть в базе https://hackage.haskell.org/package/base-4.16.1.0/docs/Debug-Trace.html
я оттуда и скопипастил но тут другой IO action нужен
Обсуждают сегодня