【发布时间】:2012-12-07 03:19:58
【问题描述】:
在我的 cabal 文件中,我启用了一堆语言扩展。假设我有
- TemplateHaskell
- 准行情
- CPP
有没有办法在自动启用这些功能的情况下启动 GHCi?而不是手动做
ghci -XTemplateHaskell -XQuasiQuotes -XCPP
【问题讨论】:
在我的 cabal 文件中,我启用了一堆语言扩展。假设我有
有没有办法在自动启用这些功能的情况下启动 GHCi?而不是手动做
ghci -XTemplateHaskell -XQuasiQuotes -XCPP
【问题讨论】:
是的,您可以使用 .ghci 文件。请参阅 GHC 手册中的第 2.9 节。
~/.ghci
:set -XTemplateHaskell -XQuasiQuotes -XCPP
【讨论】:
cabal-ghci 正是我想要的。
【讨论】:
cabal repl
在源文件顶部的 pragma 中指定扩展名:
{-# LANGUAGE TemplateHaskell, QuasiQuotes, CPP #-}
对于不在 language pragma 范围内的 ghc 选项,您还可以使用 OPTIONS_GHC pragma(您可以写 {-# OPTIONS_GHC -XTemplateHaskell -XQuasiQuotes -XCPP #-}(注意缺少逗号),但尽可能首选 language pragma,因为它可以移植到支持扩展的其他编译器)。
【讨论】: