haskell-jp / beginners #16 at 2021-06-24 23:38:29 +0900

初めまして
ダウンロードしたパッケージ(System.Random)をghciにインポートしたいのですが
インポートするときに
Prelude> :l Main

Main.hs:seven:8:
  Could not find module ‘Control.Monad.State.Strict’
  Perhaps you meant
   Control.Monad.ST.Strict (from base-4.8.2.0)
   Control.Monad.Trans.State.Strict (from transformers-0.4.2.0@trans_GZTjP9K5WFq01xC9BAGQpF)
  Use -v to see a list of the files searched for.

Main.hs:13:8:
  Could not find module ‘Gauge.Main’
  Use -v to see a list of the files searched for.

Main.hs:15:8:
  Could not find module ‘System.Random.SplitMix’
  Use -v to see a list of the files searched for.

Main.hs:17:8:
  Could not find module ‘System.Random.Stateful’
  Use -v to see a list of the files searched for.
Failed, modules loaded: none.
というエラーが出てしまいます
これはどのように解決したら良いでしょうか
また、やり方が間違っていたらやり方を教えていただけると幸いです
問題のパッケージはどのようにダウンロードしましたか? stack install random
あと、エラーメッセージを見る限り、System.Randomを含むrandomパッケージ以外にも Control.Monad.State.Strict を含むmtlパッケージや、Gauge.Mainを含むgaugeパッケージ、 System.Random.SplitMix を含む splitmixパッケージなどがインストールできていないようです。
返信ありがとうございます
https://hackage.haskell.org/package/random このページのDownloadsの欄からダウンロードしました
また、このエラーメッセージに書いてあるモジュールを含むパッケージを全部ダウンロードするということで了解しました
そのあとについてなのですが、うつコマンドは:l Mainで正しいのでしょうか?
正直どのファイル(フォルダ?)についてどのコマンドを打てば良いのかわからない状態なので教えていただけるととても嬉しいです
私のこの記事は役に立ちますか?
https://qiita.com/TTsurutani/items/b68956a555747fc3cb0e
https://hackage.haskell.org/package/random このページのDownloadsの欄からダウンロードしました
それは通常行う方法ではないですね... ttsurutaniさんの記事の通りひとまず stack install randomcabal install --lib random などでのインストールを推奨します。

:l Main について... ですが、(若干記憶が怪しいのでちょっと詳細確認しますが)何という名前のファイルになんというモジュールを書いたかによります。
恐らく状況を察するに、 module Main whereという行をファイルの*冒頭に書いてない*適当なファイル名(例えば file.hs )のファイルを読もうとしているのではないかと思います。その場合、 :l file.hs のように、ファイル名を直接指定して :l するのを推奨します。
ありがとうございます
記事を参考にしたら
インストールとインポートができました
cabalからダウンロードすると依存するモジュールまでインストールできるんですね
お二人とも本当にありがとうございました