私はghcで非常に小さなhaskellコードをコンパイルしようとしています:
module Comma where
import System.IO
main = do
contents <- getContents
putStr (comma contents)
comma input =
let allLines = lines input
addcomma [x] = x
addcomma (x:xs) = x ++ "," ++ (addcomma xs)
result = addcomma allLines
in result
コンパイルに使用しているコマンドは次のとおりです。
ghc --make Comma.hs
そして、私はこの答えを得ています:
[1/1] Comma のコンパイル ( Comma.hs、Comma.o )
ファイルは生成されず、警告やエラー メッセージも表示されません。
コードから「module Comma where」行にコメントを付けると、正しくコンパイルされます。
[1/1] Main ( Comma.hs, Comma.o ) のコンパイル Comma のリンク ...
何が起こっているのかわかりません。私はghc 7,4,1(Glasgow Haskell Compiler、バージョン7.4.1、GHCバージョン7.4.1で起動されるステージ2)とubuntu linuxを使用しています。
モジュール定義でコンパイルされない理由を誰かに教えていただければ幸いです