背景
我正在学习 GHCi 的 :break 功能。JS 有一个内置语句叫做 debugger;
,如果正在进行调试,则充当断点;否则不起作用。
问题
在 Haskell/GHCi 中是否有类似的语句/函数?
进一步说明
我想到了类似于 Debug.Trace.trace :: String -> a -> a
的东西。
如果它在内部使用 unsafePerformIO
,或者依赖于某些仅适用于 GHCi 的东西,那么这是可以接受的,因为它仅用于调试。
或者,如果还没有类似的功能,是否可以通过使用 :set -fbreak-on-exception
并编写一个抛出异常并立即捕获它的函数来实现类似的效果?(这里可能也需要使用 unsafePerformIO
,以便将函数放置在纯代码中。)
:trace
,:hist
和:back
看起来都能正常工作。 - chi