相关疑难解决方法(0)

修改Emacs Inferior Haskell进程以启用CPP处理

如果我们查看随机包的来源,我们就有了一个文件Random.hs.由于CPP扩展,必须通过以下命令调用ghci:

ghci -cpp Random.hs
Run Code Online (Sandbox Code Playgroud)

或者可以做:

ghci -cpp
Run Code Online (Sandbox Code Playgroud)

然后从ghci内:

Prelude GOA> :load Random
[1 of 1] Compiling System.Random    ( Random.hs, interpreted )
Ok, modules loaded: System.Random.
Run Code Online (Sandbox Code Playgroud)

如果我使用Emacs Inferior Haskell模式(Emacs/Inferior Haskell进程),我有源:

module Main where
import System.Random

gen = (random (mkStdGen 0)) :: (Bool,StdGen)

mymult :: Int -> Int
mymult x = 2 * x

main = do
  print $ mymult 5
Run Code Online (Sandbox Code Playgroud)

然后输入emacs命令:

C-c C-l
Run Code Online (Sandbox Code Playgroud)

这是inferior-haskell-load-file,ghci的是在emacs的一个子窗口打开.但是,如果从这个窗口我键入load Random.hs然后我收到错误消息:

*Main GOA> :load Random.hs

Random.hs:1:2: lexical …
Run Code Online (Sandbox Code Playgroud)

emacs haskell ghci

1
推荐指数
1
解决办法
167
查看次数

标签 统计

emacs ×1

ghci ×1

haskell ×1