Haskell ghci 无法加载文件
Haskell ghci cannot load file
我是 Haskell 的新手,正在尝试使用它。因此我想在文件中定义一些函数,然后将它们加载到 ghci
中。
我有一个名为 tryout.hl
的文件,我想使用以下任一方法将其加载到 ghci
:l tryout
或 :load tryout.hl
。通过这两个命令,我得到 target ‘tryout’ is not a module name or a source file
.
我做错了什么?
这是我的 shell 历史:
[user@pc](~/proggin/haskell)$ ls -lah
total 12K
drwxr-xr-x 2 user users 4.0K Oct 14 05:07 .
drwxr-xr-x 14 user users 4.0K Oct 13 07:51 ..
-rw-r--r-- 1 user users 138 Oct 14 05:07 tryout.hl
[user@pc](~/proggin/haskell)$ cat tryout.hl
take' :: (Num i, Ord i) => i -> [a] -> [a]
take' n _
| n <= 0 = []
take' _ [] = []
take' n (x:xs) = x : take' (n-1) xs
[user@pc](~/proggin/haskell)$ ghci
GHCi, version 8.4.3: http://www.haskell.org/ghc/ :? for help
Prelude> :!pwd
/home/user/proggin/haskell
Prelude> :!ls
tryout.hl
Prelude> :l tryout
target ‘tryout’ is not a module name or a source file
Prelude> :load tryout.hl
target ‘tryout.hl’ is not a module name or a source file
Haskell 源文件应以 hs
的扩展名结尾。重命名您的文件应该可以正常工作:
$ mv tryout.hl tryout.hs
ghci
中的演示:
λ> :l tryout.hl
target ‘tryout.hl’ is not a module name or a source file
λ> :l tryout.hs
[1 of 1] Compiling Main ( tryout.hs, interpreted )
Ok, one module loaded.
我是 Haskell 的新手,正在尝试使用它。因此我想在文件中定义一些函数,然后将它们加载到 ghci
中。
我有一个名为 tryout.hl
的文件,我想使用以下任一方法将其加载到 ghci
:l tryout
或 :load tryout.hl
。通过这两个命令,我得到 target ‘tryout’ is not a module name or a source file
.
我做错了什么?
这是我的 shell 历史:
[user@pc](~/proggin/haskell)$ ls -lah
total 12K
drwxr-xr-x 2 user users 4.0K Oct 14 05:07 .
drwxr-xr-x 14 user users 4.0K Oct 13 07:51 ..
-rw-r--r-- 1 user users 138 Oct 14 05:07 tryout.hl
[user@pc](~/proggin/haskell)$ cat tryout.hl
take' :: (Num i, Ord i) => i -> [a] -> [a]
take' n _
| n <= 0 = []
take' _ [] = []
take' n (x:xs) = x : take' (n-1) xs
[user@pc](~/proggin/haskell)$ ghci
GHCi, version 8.4.3: http://www.haskell.org/ghc/ :? for help
Prelude> :!pwd
/home/user/proggin/haskell
Prelude> :!ls
tryout.hl
Prelude> :l tryout
target ‘tryout’ is not a module name or a source file
Prelude> :load tryout.hl
target ‘tryout.hl’ is not a module name or a source file
Haskell 源文件应以 hs
的扩展名结尾。重命名您的文件应该可以正常工作:
$ mv tryout.hl tryout.hs
ghci
中的演示:
λ> :l tryout.hl
target ‘tryout.hl’ is not a module name or a source file
λ> :l tryout.hs
[1 of 1] Compiling Main ( tryout.hs, interpreted )
Ok, one module loaded.