我在跑:
我浏览过:
虽然上面的要点看起来很有希望,但我还没有找到任何看起来是让 org-haskell 运行的权威方法(例如,melpa 上什么都没有),当然也没有任何东西专门针对运行堆栈环境而不是使用我的全局 ghc 将需要。
当我尝试:
#+BEGIN_SRC haskell
let x = "test"
putStrLn x
#+END_SRC
我明白了
executing Haskell code-block
...永远挂起。当我 C-g 时,我看到:
GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Some flags have not been recognized: prompt2, ghci |
ghci λ> let x = "TESTING!"
putStrLn x
"org-babel-haskell-eoe"
Prelude|
<interactive>:4:1: parse error on input `putStrLn'
ghci λ> "org-babel-haskell-eoe"
当我切换到 haskell 缓冲区时,我看到它已经真正评估了我发送的内容,它只是有这个 org-babel-haskell-eoe 错误并且永远不会将控制权返回给我的 org session 。
这是因为我有一个自定义提示吗?使用 lambda 而不是 Prelude> ?
最佳答案
这不是一个完整的答案:特别是,它甚至没有提到 Stack。但是我(对 Haskell 完全无知)想了解如何让 OP 的测试程序在 babel 中运行。这是我发现的:
haskell-mode
.我使用 emacs 包管理器从 MELPA 安装了它。那也安装了inf-haskell.el
inf-haskell
想跑hugs
,所以我定制了haskell-program-name
并将其设置为“ghci”。 M-x load-library RET ob-haskell RET
显然,
ob-haskell.el
需要一些工作——那是在我们到达 Stack 之前,我对 Stack 的了解甚至比我对 Haskell 的了解还要少,所以我将把它作为练习留给感兴趣的读者:-)编辑:回复。版本信息(在评论中要求):我保持接近最前沿。在这个时间点(2017-05-01),我运行
Org mode version 9.0.5 (release_9.0.5-444-g998576 @ /home/nick/elisp/org-mode/lisp/)
和 GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.20.10) of 2017-04-14
关于haskell - 如何使用 Stack 为 Haskell 设置 org-babel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42081379/