HaskellDB - 'Database' 变量不在范围内

标签 haskell haskelldb

我正在尝试运行这个 haskelldb hello world 示例,

module Caturday.Model.Connect where

import Database.HaskellDB.HDBC
import Database.HaskellDB.Sql.PostgreSQL
import Database.HDBC.PostgreSQL (connectPostgreSQL)

withDB :: [(String,String)] -> (Database -> IO a) -> IO a
withDB opts = hdbcConnect generator (connectPostgreSQL conninfo)
  where conninfo = unwords [ k ++ "=" ++ v | (k,v) <- opts ]

opts = [("host","localhost")
       ,("user","your_username")
       ,("password","your_password")
       ,("dbname","your_db_name")]

此代码取自site

在执行 runhaskell db.hs 时,它会抛出错误,

db.hs:7:33: Not in scope: type constructor or class ‘Database’

这条线是,

withDB :: [(String,String)] -> (Database -> IO a) -> IO a

最佳答案

import Database.HaskellDB

数据库定义在那里,它应该有帮助

( https://github.com/m4dc4p/haskelldb/blob/master/src/Database/HaskellDB.hs#L68 )

关于HaskellDB - 'Database' 变量不在范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31207602/

相关文章:

haskell - 与无点样式代码混淆

haskell - 插入二叉搜索树(仅存储在叶节点的数据)

postgresql - 如何在 Database.HaskellDB.HDBC.PostgreSQL 模块中使用 postgresqlConnect?

mysql - 是否有使用 haskelldb 或任何其他 haskell 库从现有模式反向工程字段的方法?

haskell - 为 Haskell Platform(标准库)生成 ctag,专门用于 prelude

haskell - 在 Haskell 中将类型约束添加到实例声明的上下文中

haskell - 多次使用++ : more efficient if I force the evaluation from right to left?

haskell-platform - 如何在 Haskell 中创建运算符?

haskell - 如何将 HaskellDB 与多态字段一起使用? (实例重叠的问题)