在我的 cabal 文件中,我启用了一堆语言扩展。假设我有
- 模板Haskell
- 准行情
- CPP
有没有办法在这些自动启用的情况下启动 GHCi?而不是手动做
ghci -XTemplateHaskell -XQuasiQuotes -XCPP
是的,您可以使用 .ghci 文件。请参阅 GHC 手册中的第 2.9 节。
~/.ghci
:set -XTemplateHaskell -XQuasiQuotes -XCPP
cabal-ghci
正是我想要的。
在源文件顶部的编译指示中指定扩展名:
{-# LANGUAGE TemplateHaskell, QuasiQuotes, CPP #-}
对于不在语言编译指示范围内的 ghc 选项,您还可以使用 OPTIONS_GHC 编译指示(并且您可以编写{-# OPTIONS_GHC -XTemplateHaskell -XQuasiQuotes -XCPP #-}
(注意缺少逗号),但在可能的情况下首选语言编译指示,因为它可以移植到其他编译器支持扩展)。