use*_*856 13 import monads haskell haskell-platform
由于最新的Ubuntu 13.04没有haskell-plattform,我只下载了GHCi并且直到现在都没有问题.
但现在我想和monad一起工作.用它们导入它们
import Control.Monad.State
Run Code Online (Sandbox Code Playgroud)
例如不起作用.错误消息:
Could not find module `Control.Monad.State'
Perhaps you meant
Control.Monad.ST (from base)
Control.Monad.ST.Safe (from base)
Control.Monad.Fix (from base)
Use -v to see a list of the files searched for.
Failed, modules loaded: none.
Run Code Online (Sandbox Code Playgroud)
我该如何手动下载它们,还是有完全不同的问题?
Tho*_*son 18
您需要在GHC可以找到的地方安装库.
如果您尚未安装cabal-install ,请先执行此操作.这是两种方式之一.
通过OS包装:
sudo apt-get install cabal-install
Run Code Online (Sandbox Code Playgroud)
或手动:
wget http://hackage.haskell.org/package/cabal-install-1.18.0.2/cabal-install-1.18.0.2.tar.gz
tar xzf cabal-install-1.18.0.2.tar.gz
cd cabal-install-1.18.0.2
sh ./bootstrap.sh
export PATH=$PATH:$HOME/.cabal/bin
Run Code Online (Sandbox Code Playgroud)
安装完成cabal-install后,执行以下操作:
cabal update
cabal install mtl
Run Code Online (Sandbox Code Playgroud)
这是"Monad Transformer Library",其中包含许多常见的monad,例如State,您在示例中看到的.
所有这些的替代方法是安装ubuntu包装mtl.也就是说,我不知道任何活跃的Haskell开发人员使用Haskell包的OS包装而不是cabal.ubuntu包是libghc-ghc-mtl-dev:
sudo apt-get install libghc-ghc-mtl-dev
Run Code Online (Sandbox Code Playgroud)