我正在为下学期提前学习Haskell而且我正在测试组。我直接在 WinGHCi 中尝试并在文本文件中编写函数。阅读文档(haskell.org,zvon.org)我看到模块 Data.List 是必需的,所以我在 WinGHCi 中做了以下内容:
:l Data.List
但是我收到一个错误::module'Data.List'是一个包模块
然后,我使用文本编辑器编写了一个函数,如下所示:
import Data.List
group "aaaabbbbbbbccddd"
加载(编译)时我再次收到错误:
_Haskell.hs:2:1:
Parse error: naked expression at top level
Perhaps you intended to use TemplateHaskell_
我是函数式编程的完全初学者。我非常感谢您帮助解决我的问题。
最好的问候。
答案 0 :(得分:5)
您可以在GHCI中使用它,就像您在文本文件中导入它一样。
Prelude> import Data.List
Prelude Data.List> group "aaaaabbbbbbcccccddd"
["aaaaa","bbbbbb","ccccc","ddd"]
顶层的裸体表达意味着:你不能在顶层表达裸体表情。在文本文件中试试这个。
import Data.List
testGroup :: (Eq a) => [a] -> [[a]]
testGroup lst = group lst
这将创造奇迹。
~/temp ❯❯❯ ghci h.hs
GHCi, version 8.0.1: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling Main ( h.hs, interpreted )
Ok, modules loaded: Main.
*Main> testGroup [2]
[[2]]