I'm trying to start using acid-state
for a project, but I'm running into trouble running the demos.
Running HelloWorld.hs
from this example collection on my 64-bit box gives me the errors
acid-state.hs:26:7:
No instance for (MonadState
HelloWorldState (Update HelloWorldState))
arising from a use of `put'
Possible fix:
add an instance declaration for
(MonadState HelloWorldState (Update HelloWorldState))
In the expression: put (HelloWorldState newValue)
In an equation for `writeState':
writeState newValue = put (HelloWorldState newValue)
acid-state.hs:29:43:
No instance for (MonadReader
HelloWorldState (Query HelloWorldState))
arising from a use of `ask'
Possible fix:
add an instance declaration for
(MonadReader HelloWorldState (Query HelloWorldState))
In a stmt of a 'do' block: HelloWorldState string <- ask
In the expression:
do { HelloWorldState string <- ask;
return string }
In an equation for `queryState':
queryState
= do { HelloWorldState string <- ask;
return string }
The same thing happens with HelloWorldNoTH.hs
as well. Neither error manifests on a 32-bit system. Any ideas what's going on here? Did I fail to install (or improperly install) some required component?
I'm running "The Glorious Glasgow Haskell Compilation System, version 7.4.1
" on 64-bit Debian Wheezy (installed via the haskell-platform
package), with Cabal 0.14.0
. The machine itself is a 64-bit Core i3. The 32-bit machine (which ran the demo successfully) differs in no non-obvious way.
This has absolutely nothing to do with which architecture you're running on (sorry for jumping to conclusions).
Turns out that I had some misconfiguration, or possibly some conflicting cabal
libraries installed. Clearing out my .ghc
, followed by a re-install of the appropriate library did the trick. If you're on Debian or comparable:
rm -r ~/.ghc/*
cabal install acid-state