我对GHC错误消息的格式不完全满意。如何制作自定义打印功能?
答案 0 :(得分:2)
你想修改GHC吗?好吧,它是开源的,所以你可以根据自己的意愿改变它并重新编译,但这可能是一个巨大的过度杀伤。
如果我真的想要,我会创建一个程序,用它接收的参数调用GHC,读回输出,处理它,然后打印它。
您可以使用System.Process
。readProcessWithExitCode
来执行此操作
您可能很想使用readProcess
来获得更简单的API,但它只能从stdout
读取,而您几乎肯定也想要stderr
。
此外,前一个函数中的退出代码也非常有用:您甚至可以在不解析的情况下知道编译是否成功,只需查看退出代码是否为0。