使用Haskell组时遇到问题

时间:2016-07-22 15:10:57

标签: haskell

我正在为下学期提前学习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_

我是函数式编程的完全初学者。我非常感谢您帮助解决我的问题。

最好的问候。

1 个答案:

答案 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]]