我在跑:
我看过了:
虽然上面的要点看起来很有希望,但我没有发现任何看起来是组织运行的权威方法-haskell运行(例如,没有任何关于melpa的东西),当然也没有任何专门针对任何复杂的运行堆栈环境,而不是使用我的全球ghc会带来的。
当我试图:
#+BEGIN_SRC haskell
let x = "test"
putStrLn x
#+END_SRC我得到了
执行Haskell代码块
...which永远挂着。当我-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错误,并且永远不会将控制返回到我的org会话。
这有可能是因为我有一个定制的提示吗?使用lambda而不是Prelude>?
发布于 2017-02-17 16:15:55
这不是一个完整的答案:特别是,它甚至没有提到Stack。但是我(一个对Haskell完全无知的人)想知道要让OP的测试程序在babel中运行需要做些什么。下面是我的发现:
haskell-mode。我是从MELPA安装的,使用emacs包管理器。也安装了inf-haskell.elinf-haskell希望运行hugs,因此我定制了haskell-program-name并将其设置为"ghci“。M-x load-library RET ob-haskell RET显然,ob-haskell.el需要一些工作--在我们到达Stack之前,我对Stack的了解甚至比我对Haskell所知道的还要少,所以我将把它留给感兴趣的读者。
编辑: Re.版本信息(在评论中要求):我保持接近流血边缘。此时(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。
发布于 2018-01-11 18:33:59
这可能是因为自定义提示:我有同样的问题,当我从~/.ghci中删除":set +t“和":set +t”和:set提示"GHCI >“时,它起了作用。我对它做了一些修改,似乎只要您的自定义提示符中除了末尾没有任何空格(我将我的提示改为”GHCI>“并运行),它就能工作。它解析的正则表达式似乎假定提示符中没有空格。
发布于 2021-05-31 03:28:10
在我的例子中,它是.ghci,就像Testare的一样。当我评论掉:set prompt "λ "时,emacs就停止了冻结,而是给出了‘org-babel-script-escape’ expects a string的信息。要想让:set +t发挥作用,就必须对:set +t进行评论。
https://stackoverflow.com/questions/42081379
复制相似问题