На Haskell в пакете QuickCheck-2.11.3 отсутствуют файлы - PullRequest
0 голосов
/ 20 сентября 2018

Я попытался запустить свою программу, которая использует Haskell QuickCheck через ghc MyProgramm.hs, но получил следующую ошибку:

$ ghc Ex2.hs 
[1 of 1] Compiling Ex2              ( Ex2.hs, Ex2.o )

Ex2.hs:21:1: error:
    Could not find module ‘Test.QuickCheck’
    There are files missing in the ‘QuickCheck-2.11.3’ package,
    try running 'ghc-pkg check'.
    Use -v to see a list of the files searched for.
   |
21 | import Test.QuickCheck (
   | ^^^^^^^^^^^^^^^^^^^^^^^^...

Я установил stack, запустил stack update и stack install QuickCheck без проблем, ноошибка сохраниласьЗатем я запустил cabal install QuickCheck и получил следующие ошибки:

$ cabal install QuickCheck
Resolving dependencies...
Configuring QuickCheck-2.12.4...
Building QuickCheck-2.12.4...
Failed to install QuickCheck-2.12.4
Build log ( /home/username/.cabal/logs/ghc-8.4.3/QuickCheck-2.12.4-3d2YDDqfPBn4BfmTJbpJXK.log ):
cabal: Entering directory '/tmp/cabal-tmp-9133/QuickCheck-2.12.4'
Configuring QuickCheck-2.12.4...
Preprocessing library for QuickCheck-2.12.4..
Building library for QuickCheck-2.12.4..
[ 1 of 16] Compiling Test.QuickCheck.Exception ( Test/QuickCheck/Exception.hs, dist/build/Test/QuickCheck/Exception.o )
[ 2 of 16] Compiling Test.QuickCheck.Random ( Test/QuickCheck/Random.hs, dist/build/Test/QuickCheck/Random.o )

Test/QuickCheck/Random.hs:10:1: error:
    Could not find module ‘System.Random’
    There are files missing in the ‘random-1.1’ package,
    try running 'ghc-pkg check'.
    Use -v to see a list of the files searched for.
   |
10 | import System.Random
   | ^^^^^^^^^^^^^^^^^^^^

Test/QuickCheck/Random.hs:11:1: error:
    Could not find module ‘System.Random.TF’
    There are files missing in the ‘tf-random-0.5’ package,
    try running 'ghc-pkg check'.
    Use -v to see a list of the files searched for.
   |
11 | import System.Random.TF
   | ^^^^^^^^^^^^^^^^^^^^^^^

Test/QuickCheck/Random.hs:12:1: error:
    Could not find module ‘System.Random.TF.Gen’
    There are files missing in the ‘tf-random-0.5’ package,
    try running 'ghc-pkg check'.
    Use -v to see a list of the files searched for.
   |
12 | import System.Random.TF.Gen(splitn)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cabal: Leaving directory '/tmp/cabal-tmp-9133/QuickCheck-2.12.4'
cabal: Error: some packages failed to install:
QuickCheck-2.12.4-3d2YDDqfPBn4BfmTJbpJXK failed during the building phase. The
exception was:
ExitFailure 1

Однако у меня уже установлены пакеты arch haskell-random, haskell-tf-random и haskell-mwc-random.Кто-нибудь знает, как это исправить?

Редактировать: Я также побежал cabal install random --reinstall.

1 Ответ

0 голосов
/ 20 сентября 2018

Несмотря на то, что у меня есть main = do и я не могу заставить его работать таким образом, я смог запустить свой тест QuickCheck следующим образом:

Чтобы запустить quickCheck, сначала загрузите вашу программу с помощью:

 $ ghci MyProg.hs

Затем, чтобы запустить quickCheck, найдите тест, который вы хотите запустить, затем запустите его с:

 $ quickCheck my_quick_check
...