Кислотное состояние: экземпляр MonadState для обновления

Я пытаюсь acid-state. Документация утверждает, что Update stявляется экземпляром MonadState st. Я пробовал разные вещи, но мой компилятор не хочет этого видеть :( Я пробовал HelloWorld. hsfrom examples, но возникла та же проблема:

HelloWorld.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)

HelloWorld.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 }

Что я делаю не так? Как заставить это работать?

Я использую кислотное состояние-0,6,4, ghc-7.4.2 , debian-6.0.5(amd64)

Спасибо, Юрась

ДОБАВЛЕНО: Похоже, это работает в ghc-7.4.1 и не работает в ghc-7.4.2. Может ли кто-нибудь оба компилятора?

Я попытался переустановить кислотное состояние, но это не помогло. Либо ошибка в ghc-7.4.2, либо мой идентификатор среды не работает.

5
задан Yuras 17 June 2012 в 13:47
поделиться