gpt4 book ai didi

haskell - GHCI 配置文件可以使用 CPP 宏吗?

转载 作者:行者123 更新时间:2023-12-02 15:22:19 26 4
gpt4 key购买 nike

我认为最好设置我的全局 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

但显然这不起作用。

> 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 ‘#’

有没有办法让 CPP 宏起作用,或者有其他方法来完成我想要做的事情吗?

最佳答案

GHCI 不能直接使用这些宏,但它们可以在您使用 GHCI's :add command 包含的文件中使用.

例如,这就是我现在的设置:

  • ~/.ghc/ghci.conf 包含 :add 命令:

    > grep imports ~/.ghc/ghci.conf
    :add /home/chris/.ghc/imports.hs
  • ~/.ghc/imports/imports.hs 包含我的 CPP 导入:

    > 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

关于haskell - GHCI 配置文件可以使用 CPP 宏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42309705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com