Reputation: 3
So, I'm trying to get cabal installed so I can get quickcheck to work in haskell, but nothing seems to work. Whenever I try to run "cabal-install" in my terminal (on mac) I get the same message "command not found", I've looked at multiple different "solutions" and even "solutions" on the cabal website, but nothing seems to work. Any help at all would be much appreciated
Upvotes: 0
Views: 368
Reputation: 29193
cabal-install
is a package. cabal
is the executable/command installed by the cabal-install
package. cabal install
is a subcommand of the cabal
command—it's the command cabal
called with the argument install
. Your full command "should" be cabal install QuickCheck
, but there's no point in actually executing that command. If you have Cabal v1 or v2, cabal install
refers to the version 1 install method, which is broken and dangerous. If you have Cabal v3, cabal install
refers to the version 2 install method, where cabal install QuickCheck
is pointless. It will install QuickCheck
, but QuickCheck
is just a library with no executables, so there's no point.
Assuming cabal-install
is correctly installed (you should have access to the cabal
command), you need to figure out what you're going to do with QuickCheck
. If you just want to open a GHCi session, say cabal v2-repl -b QuickCheck
. If you want to compile a bunch of files (i.e. you want something more "permanent"), you need to create a package, where the <pkgname>.cabal
file contains something along the lines of
build-depends: base, QuickCheck, ..etc
When you build such a package with cabal v2-build
, or you start GHCi with cabal v2-repl -b QuickCheck
, cabal
will go and install QuickCheck
automatically if it needs to. This is why cabal v2-install QuickCheck
is pointless.
Upvotes: 1