修飾名を付ける 基本的に、Haskell でモジュールを import する際には、ちゃんと修飾名を付けるべきです。 これは名前の衝突を防ぐためです。 例えば以下のコードはコンパイルエラーになります。 putStrLn が Data.Text と Data.ByteString の両方に存在しているからです。 import Data.Text import Data.ByteString main = putStrLn "" これが衝突しなかったら自由に import していいのかというと、これもやめておいた方がいいでしょう。 というのも、依存パッケージをバージョンアップした時に関数が増えた場合、その関数が他のパッケージの名前を重複する場合があるからです。 module Module.Oreore (oreore) where oreore = undefined module Modul