Haskell GHCI配置文件能否使用CPP宏?
我想最好设置我的全局GHCI配置,这样当提供它们的包存在时,我常用的导入就会自动发生 我尝试将此添加到Haskell GHCI配置文件能否使用CPP宏?,haskell,c-preprocessor,ghci,Haskell,C Preprocessor,Ghci,我想最好设置我的全局GHCI配置,这样当提供它们的包存在时,我常用的导入就会自动发生 我尝试将此添加到~/.ghc/ghci.conf: :set -XCPP #ifdef MIN_VERSION_containers import Data.Set (Set) import qualified Data.Set as Set import Data.Map (Map) import qualified Data.Map as Map #endif 但
~/.ghc/ghci.conf
:
:set -XCPP
#ifdef MIN_VERSION_containers
import Data.Set (Set)
import qualified Data.Set as Set
import Data.Map (Map)
import qualified Data.Map as Map
#endif
但显然,这是行不通的
> stack repl
Configuring GHCi with the following packages:
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help
<interactive>:24:1: error: parse error on input ‘#’
<interactive>:29:1: error: parse error on input ‘#’
>堆栈复制
使用以下软件包配置GHCi:
GHCi,8.0.2版:http://www.haskell.org/ghc/ :? 求救
:24:1:错误:分析输入“#”时出错
:29:1:错误:分析输入“#”时出错
有没有办法让CPP宏工作,或者用其他方法来完成我的工作?GHCI不能直接使用这些宏,但它们可以在您使用的文件中使用 例如,这就是我的设置现在的样子:
包含~/.ghc/ghci.conf
命令::add
> grep imports ~/.ghc/ghci.conf :add /home/chris/.ghc/imports.hs
包含我的CPP'ed导入:~/.ghc/imports/imports.hs
> cat ~/.ghc/imports/imports.hs {-# LANGUAGE CPP #-} #ifdef MIN_VERSION_containers import Data.Set (Set) import qualified Data.Set as Set import Data.Map (Map) import qualified Data.Map as Map #endif
#ifdef…
,但什么都做不到。感谢您提供了此解决方案。