假设我没有安装HsColour程序,我安装了QuickCheck
$ cd /tmp/
$ cabal get QuickCheck
$ cd QuickCheck
$ cabal install
...
[ 1 of 15] Compiling Test.QuickCheck.Random
...
[15 of 15] Compiling Test.QuickCheck
...
Installed QuickCheck-2.7.6
Run Code Online (Sandbox Code Playgroud)
如果我再次安装QuickCheck,则不会重新编译,也就是说,我没有看到这些行
[ 1 of 15] Compiling Test.QuickCheck.Random
...
[15 of 15] Compiling Test.QuickCheck
Run Code Online (Sandbox Code Playgroud)
但如果我安装HsColour当前版本(1.20.3)并再次安装QuickCheck,则会重新编译QuickCheck.
如果,QuickCheck也会重新编译
我用GHC 7.8.3,Cabal 1.20.0.2和cabal-install 1.20.0.3测试了这种行为,以及Cabal和cabal-install的开发版本(使用https://github.com/haskell/cabal/commit/5ef7d84bb25cc5d53ad124978922f2c96bedb7d4) .