2014-11-26 2 views
0

Вот мой проект (оригинальный источник на FP Haskell Center, но я не знаю, как сделать это в открытом доступе) https://github.com/geraldus/EsqueletoTestKind несоответствие в YesodPersist объявлении экземпляра

Существует YesodPersist объявление экземпляра

instance YesodPersist App where 
    type YesodPersistBackend App = SqlBackend -- line 19 

    runDB action = do 
     App pool <- getYesod 
     runSqlPool action pool 

И я следующее сообщение об ошибке:

src/[email protected]:36-19:46 Kind mis-match 
Expected kind `(* -> *) -> * -> *', but SqlBackend has kind * … 
In the type `SqlBackend' 
In the type synonym instance declaration for `YesodPersistBackend' 
In the instance declaration for `YesodPersist App' 

Что случилось?

ответ

1

Похоже, что вы изначально написали код, используя Persistent 2, и теперь используете Persistent 1.3. В 1.3 вам понадобится что-то вроде type YesodPersistBackend App = SqlPersistT.

+0

Хм, на самом деле все это написано на FP Complete, а сообщение об ошибке - из FP Complete IDE. Я клонировал проект по умолчанию Yesod. –

+0

Ох, я не знаю, почему, но была среда сборки, установленная для версии DEPRECATED 7.4.2. Я изменил его на стабильный, и теперь все в порядке. –