0

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.

Inaimathi
  • 13,853
  • 9
  • 49
  • 93
  • This question and your previous one (both problems importing monad transformer instances) make me think something is broken in your/Debian's haskell-platform installation. Possibly useless suggestions: (1) run `ghc-pkg check`, (2) `cabal install hsenv`, create a new project directory and hsenv, `cabal update && cabal install cabal`, `cabal update` with the new cabal (0.16), and finally `cabal install acid-state happstack-server`. – Fixnum Nov 03 '12 at 20:54
  • I can confirm that the `HelloWorld.hs` code example compiles fine using the Debian packaged stuff. So maybe try `rm -rf ~/.ghc` and install `libghc-acid-state-dev`, avoiding compiling any library by yourself. – Joachim Breitner Nov 04 '12 at 21:01

1 Answers1

0

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
Inaimathi
  • 13,853
  • 9
  • 49
  • 93