Я пытаюсь acid-state
. В documentation указано, что Update st
является экземпляром MonadState st
. Я пробовал разные вещи, но мой компилятор не хочет видеть, что :(Я попытался HelloWorld.hs
от examples, но получил тот же вопрос:Кислотное состояние: экземпляр MonadState для обновления
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 }
Что я делаю неправильно Как заставить его работать?
Я использую acid-state-0.6.4
, ghc-7.4.2
, debian-6.0.5
(amd64)
Спасибо, Юрась
ADDED: Похоже, что он работает в ghc-7.4.1 и не работает в ghc-7.4.2. Может ли кто-нибудь компиляторы?
Я попытался переустановить кислотное состояние, но это не помогло. Либо ошибка в ghc-7.4.2, либо мой идентификатор среды сломан.