Hello,
I’ve noticed something really unexpected: take a Haskell package, say
‘ghc-libmpd’, build it several times (with --rounds or --check), and
notice that sometimes it will build successfully, and other times,
you’ll get a compiler error like this:
--8<---cut here---start->8---
Configuring libmpd-0.9.0.9...
phase `configure' succeeded after 0.9 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `build'
running "runhaskell Setup.hs" with command "build" and parameters ()
Preprocessing library for libmpd-0.9.0.9..
Building library for libmpd-0.9.0.9..
[ 1 of 36] Compiling Network.MPD.Core.Error ( src/Network/MPD/Core/Error.hs,
dist/build/Network/MPD/Core/Error.o )
src/Network/MPD/Core/Error.hs:18:1: warning: [-Wdeprecations]
Module ‘Control.Monad.Error’ is deprecated:
Use "Control.Monad.Except" instead
|
18 | import Control.Monad.Error (Error(..))
|
src/Network/MPD/Core/Error.hs:48:10: warning: [-Wdeprecations]
In the use of type constructor or class ‘Error’
(imported from Control.Monad.Error, but defined in
transformers-0.5.5.0:Control.Monad.Trans.Error):
Deprecated: "Use Control.Monad.Trans.Except instead"
|
48 | instance Error MPDError where
| ^
src/Network/MPD/Core/Error.hs:48:10: warning: [-Wdeprecations]
In the use of type constructor or class ‘Error’
(imported from Control.Monad.Error, but defined in
transformers-0.5.5.0:Control.Monad.Trans.Error):
Deprecated: "Use Control.Monad.Trans.Except instead"
|
48 | instance Error MPDError where
| ^
[ 2 of 36] Compiling Network.MPD.Core.Class ( src/Network/MPD/Core/Class.hs,
dist/build/Network/MPD/Core/Class.o )
src/Network/MPD/Core/Class.hs:17:1: warning: [-Wdeprecations]
Module ‘Control.Monad.Error’ is deprecated:
Use "Control.Monad.Except" instead
|
17 | import Control.Monad.Error (MonadError)
| ^
[ 3 of 36] Compiling Network.MPD.Util ( src/Network/MPD/Util.hs,
dist/build/Network/MPD/Util.o )
--8<---cut here---end--->8---
That seems surreal to me.
Thoughts?
Ludo’.