如何使这些Haskell数据类型对齐?

时间:2018-02-16 03:19:42

标签: haskell

我试图在Haskell中编写一个使用Scotty的简单REST API。经过大量工作后,my database layer可以工作,并且可以从我的sqlite数据库中检索一行。 the API end也可以工作,我可以转到localhost / api / etc,它会返回JSON。但我似乎无法连接所有部件。我真的不知道Haskell数据类型如何相互转换。当我尝试put the two together, as in this file时,我似乎无法正确对齐类型。我得到的错误是:

Main.hs:41:15: error:
    • Couldn't match type ‘IO’
                     with ‘Web.Scotty.Internal.Types.ActionT
                             Data.Text.Internal.Lazy.Text IO’
      Expected type: Web.Scotty.Internal.Types.ActionT
                       Data.Text.Internal.Lazy.Text IO Connection
        Actual type: IO Connection
    • In a stmt of a 'do' block: conn <- connectSqlite3 db
      In the second argument of ‘($)’, namely
        ‘do { conn <- connectSqlite3 db;
              meta <- getByID conn "9.0";
              json meta }’

如何将IO转换为Web.Scotty.Internal.Types.ActionT Data.Text.Internal.Lazy IO Connection?还有为什么我必须这样做?

0 个答案:

没有答案