0

haskellを使い始めたばかりです。サンプルスクリプトを実行しようとしました。

import Data.List
module main where

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

「モジュールがロードされました、なし」という単純なエラーが発生します。なぜこれが起こっているのか私にはわかりません。私はwin732ビットでGHCiを使用しています(それが重要な場合)。ここで何かが足りませんか?この例には「modulemainwhere」も含まれていませんが、それがないと実行に失敗します。

4

2 に答える 2

3

module行は常に s の前に置かれimportます。また、モジュール名は大文字で始める必要があります。

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 に答える