我有一个Haskell库,里面有几个可执行文件(测试、基准等),总共大约有六个。当我在库中进行一些重构时,通常需要对每个可执行文件进行一些小的更改。
在我的当前工作流程中,我单独编译每个可执行文件(例如,使用GHCi)并修复每个可执行文件。这很繁琐,因为我必须输入每个可执行文件的路径,并且还必须重新加载所有(非常大的)库,即使使用GHCi也需要一些时间。
解决此问题的第一个想法是创建一个单独的虚拟模块,导入可执行文件“Main”模块。然而,这要求“Main”模块具有像
我还尝试过
是否有一种简单的方法可以使用GHCi同时加载多个“Main”模块,以便我可以同时对它们进行类型检查?
在我的当前工作流程中,我单独编译每个可执行文件(例如,使用GHCi)并修复每个可执行文件。这很繁琐,因为我必须输入每个可执行文件的路径,并且还必须重新加载所有(非常大的)库,即使使用GHCi也需要一些时间。
解决此问题的第一个想法是创建一个单独的虚拟模块,导入可执行文件“Main”模块。然而,这要求“Main”模块具有像
module Executable1 where ...
这样的模块名称。但现在,在编译可执行文件时,cabal会抱怨找不到名为“Main”的模块(尽管在cabal文件中明确列出了每个可执行文件的“main-is”)。我还尝试过
ghci Exec1.hs Exec2.hs ...
,但它会抱怨module ‘main@main:Main’ is defined in multiple files
。是否有一种简单的方法可以使用GHCi同时加载多个“Main”模块,以便我可以同时对它们进行类型检查?