0

我刚刚开始使用haskell .. 我尝试运行一个示例脚本:

import Data.List
module main where

mylength = foldr (const (+1)) 0
main = print (mylength "haskell")

我收到一个简单的错误“模块已加载,没有”。我不知道为什么会这样。我在win7 32bit下使用GHCi(如果重要的话)。我在这里错过了什么吗?该示例甚至不包括“module main where”,但即使没有它,它也无法运行。

4

2 回答 2

3

module行总是在imports 之前。并且模块名称应以大写字母开头。

module Main where
import Data.List

mylength = foldr (const (+1)) 0
main = print (mylength "haskell")

如果这对您不起作用,请告诉我们

  • 您收到的完整错误消息;和
  • 您正在使用哪个编译器的版本
于 2013-01-15T22:27:59.163 回答
0

你不需要module在那里排队。但是,当您确实将其放入时,它必须放在任何import 语句之前。

module main where  -- Optional, in the case of main.

import Data.List

myLength :: [a] -> Int
myLength = foldr (const (+1)) 0

main = print (mylength "haskell")
于 2013-01-15T22:30:33.187 回答