【问题标题】:start ghci with extensions specified in cabal configuration file使用 cabal 配置文件中指定的扩展名启动 ghci
【发布时间】:2012-12-07 03:19:58
【问题描述】:

在我的 cabal 文件中,我启用了一堆语言扩展。假设我有

  • TemplateHaskell
  • 准行情
  • CPP

有没有办法在自动启用这些功能的情况下启动 GHCi?而不是手动做

ghci -XTemplateHaskell -XQuasiQuotes -XCPP

【问题讨论】:

    标签: haskell cabal ghci


    【解决方案1】:

    是的,您可以使用 .ghci 文件。请参阅 GHC 手册中的第 2.9 节。

    ~/.ghci

    :set -XTemplateHaskell -XQuasiQuotes -XCPP

    【讨论】:

      【解决方案2】:

      cabal-ghci 正是我想要的。

      【讨论】:

      • 使用最新版本的 cabal,请使用 cabal repl
      【解决方案3】:

      在源文件顶部的 pragma 中指定扩展名:

      {-# LANGUAGE TemplateHaskell, QuasiQuotes, CPP #-}
      

      对于不在 language pragma 范围内的 ghc 选项,您还可以使用 OPTIONS_GHC pragma(您可以写 {-# OPTIONS_GHC -XTemplateHaskell -XQuasiQuotes -XCPP #-}(注意缺少逗号),但尽可能首选 language pragma,因为它可以移植到支持扩展的其他编译器)。

      【讨论】:

      • 这不会启用 REPL 本身的扩展。
      猜你喜欢
      • 1970-01-01
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      相关资源
      最近更新 更多