最近ghciをダウンロードしましたが、.hsファイルをコンパイルしようとすると、IOモジュールが隠しパッケージhaskell98-2.0.0.1に含まれていると表示されます。を使用して公開するとghc-pkg expose haskell98-2.0.0.1
、ベースとプレリュードに問題があり、プレリュードがあいまいであると表示されます。
プログラムを正しくコンパイルできるように、どうすればこれを回避できますか?前もって感謝します。
最近ghciをダウンロードしましたが、.hsファイルをコンパイルしようとすると、IOモジュールが隠しパッケージhaskell98-2.0.0.1に含まれていると表示されます。を使用して公開するとghc-pkg expose haskell98-2.0.0.1
、ベースとプレリュードに問題があり、プレリュードがあいまいであると表示されます。
プログラムを正しくコンパイルできるように、どうすればこれを回避できますか?前もって感謝します。
ghcを使用している場合は、base
パッケージの一部であるSystem.IOモジュールを使用する必要があります。Haskel-98は...まあ、今は時代遅れです。haskell-98を使い続けたい場合(これにより、ほとんどの既存のライブラリで作業できなくなります)、両方として公開haskell98
および非表示にし、モジュールを含める必要があります。これにより、コンパイラはどちらをインポートするかを推測できず、プレリュードをインポートする必要があります。標準のための方法。base
base
haskell98
Prelude
ここで(permeakraが指摘したように)正しいことは、System.IO
モジュールを使用することです。これは、配置することによって行われます。
import System.IO
ファイルの上部近く(モジュール宣言の下(ある場合)ですが、他のすべての上にあります)。