是否可以使用-XNoImplicitPrelude进行快速功能工作?

时间:2018-04-10 10:35:29

标签: haskell ghc ghci

我有一个使用自定义Prelude的项目,但它似乎与~/.ghci中的提示函数冲突。简单的例子:

$ ghci -XNoImplicitPrelude
GHCi, version 8.2.2: http://www.haskell.org/ghc/  :? for help
Loaded GHCi configuration from /home/refold/etc/ghci
> :set prompt-function \ms _ -> ms

<interactive>:1:19: error:
    Not in scope: type constructor or class ‘String’

<interactive>:1:30: error:
    Not in scope: type constructor or class ‘Int’

<interactive>:1:37: error:
    Not in scope: type constructor or class ‘IO’

<interactive>:1:40: error:
    Not in scope: type constructor or class ‘String’

是否可以同时使-XNoImplicitPrelude:set prompt-function协同工作?

1 个答案:

答案 0 :(得分:3)

StringIntIO以及任何必要的内容放回范围内。如果Prelude不可用(因为使用base-noprelude),可以在自己的模块中找到这些类型:

> import Data.String (String)
> import Data.Int (Int)
> import System.IO (IO)
> import Text.Show (show)
> import Control.Applicative (pure)
> :set prompt-function \ms n -> pure (show (ms, n))  -- [String] -> Int -> IO String