我正在学习GHCi:破解功能.JS有一个内置语句debugger;,如果正在进行调试,它将充当断点,否则不执行任何操作.
Haskell/GHCi有类似的声明/功能吗?
我正在思考一些事情Debug.Trace.trace :: String -> a -> a.
如果它在unsafePerformIO内部使用,或者依赖GHCi特定的东西,它是可以的,因为它仅用于调试.
或者,如果还没有任何东西,可能不会有这样的东西,:set -fbreak-on-exception并有一个抛出异常并立即捕获它的函数?(unsafePerformIO这里也可能需要,因此函数可以放在纯代码中.)
你不需要它.
让代码干净比完全调试插入要好得多.
使用ghci,您可以根据需要在功能名称或行号中设置断点.来自ghci:帮助
   :break [<mod>] <l> [<col>]  set a breakpoint at the specified location
   :break <name>               set a breakpoint on the specified function
另类:
更重要的是,您可以在基于项目的./.ghci命令批处理文件中保留断点列表,并在ghci start处自动加载.