Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
haskell的组织巴别塔不是eval haskell区块的工程_Haskell_Emacs_Org Mode_Org Babel - Fatal编程技术网

haskell的组织巴别塔不是eval haskell区块的工程

haskell的组织巴别塔不是eval haskell区块的工程,haskell,emacs,org-mode,org-babel,Haskell,Emacs,Org Mode,Org Babel,我使用组织模式博客,我使用组织巴贝尔评估代码如下: #+BEGIN_SRC haskell import Data.Function (fix) f :: Int -> Int f = (+ 1) main :: IO () main = do putStrLn $ show $ f 1 #+END_SRC #+RESULTS: : <interactive>:9:25: Not in scope: ‘f’ #+BEGIN_SRC haskell 导入数据。

我使用组织模式博客,我使用组织巴贝尔评估代码如下:

#+BEGIN_SRC haskell
import Data.Function (fix)

f :: Int -> Int
f = (+ 1)

main :: IO ()
main = do
      putStrLn $ show $ f 1
#+END_SRC

#+RESULTS:
: <interactive>:9:25: Not in scope: ‘f’
#+BEGIN_SRC haskell
导入数据。函数(修复)
f::Int->Int
f=(+1)
main::IO()
main=do
putStrLn$show$f1
#+结束(SRC)
#+结果:
::9:25:不在范围内:“f”
我发现用于haskell的组织babel使用推断haskell模式启动会话并评估代码。我还说会话是创建的,如果我没有定义函数,而是直接将strln输入“hello”,它就可以工作了

希望任何人都能修复此错误:)


Org的babel模式使用ghci运行Haskell代码。在ghci中,您需要使用let来声明函数。

在本文中,Yoshinari Nomura描述了一种通过Ruby脚本使用
runhaskell
评估Haskell块的方法。我不懂日语,因此无法翻译细节,但该方法允许我运行haskell块,而无需专门为解释器编写代码。

我确实想知道tangle如何将其提取到源文件,因为
let f
在haskell源文件中无效。对于那些不熟悉tangle的人:在尝试了2个小时后,这挽救了我的一天。。。谢谢
#+BEGIN_SRC haskell
import Data.Function (fix)

f :: Int -> Int
let f = (+ 1)

main :: IO ()
main = do
      putStrLn $ show $ f 1
#+END_SRC

#+RESULTS:
: 2