所以在这里我试图弄清楚如何将我可能在我的代码中得到的任何异常记录到日志文件中。首先我注意到跟踪功能,但后来我看到它只输出到 stdin 。
然后我看到了记录器模块,但是它在 IO monad 内部运行,所以它有点麻烦,因为它会损害纯度和所有东西。然后我想,如果我创建了一个函数 a->b->b,并且在我的情况下,a 参数的类型为 IO () 一切都会好的。
事实上,编译器并没有发现任何问题,但遗憾的是,append 从未真正被调用过,所以我仍然回到了基础。我真正想知道的是:a)是否有任何函数在执行 IO 的同时仍然具有纯签名(如 unsafePerformIO)可以帮助我进行日志记录 b)有没有办法强制编译器评估第一个参数即使我从未真正使用过我构建的功能?
提前谢谢你们