标签: haskelldb

如何在多态字段中使用HaskellDB?(重叠实例的问题)

我有一个有6种不同类型实体的模式,但它们都有很多共同点.我想我可能在类型级别抽象了很多这种共性,但我遇到了HaskellDB和重叠实例的问题.这是我开始使用的代码,工作正常:

import Database.HaskellDB
import Database.HaskellDB.DBLayout

data Revision a = Revision deriving Eq
data Book = Book

instance FieldTag (Revision a) where
  fieldName _ = "rev_id"

revIdField :: Attr (Revision Book) (Revision Book)
revIdField = mkAttr undefined

branch :: Table (RecCons (Revision Book) (Expr (Revision Book)) RecNil)
branch = baseTable "branch" $ hdbMakeEntry undefined
bookRevision :: Table (RecCons (Revision Book) (Expr (Revision Book)) RecNil)
bookRevision = baseTable "book_revision" $ hdbMakeEntry undefined

masterHead :: Query (Rel (RecCons (Revision Book) (Expr (Revision Book)) …
Run Code Online (Sandbox Code Playgroud)

haskell haskelldb

50
推荐指数
1
解决办法
742
查看次数

如何在Haskell中创建运算符?

制作一个三元逻辑表,我想为我将调用的运算符创建自己的函数<=>.

所以,例如,我想这样做,但那是不对的.这样做的正确方法是什么?

data Ternary = T | F | M
deriving (Eq,  Show, Ord)

<=> :: Ternary -> Ternary -> Ternary
<=> T F = F
<=> T T = T
<=> T M = M
<=> F F = T
<=> F T = F
<=> F M = M
<=> M F = M
<=> M T = M
<=> M M = T
Run Code Online (Sandbox Code Playgroud)

haskell haskell-platform haskelldb

26
推荐指数
2
解决办法
1万
查看次数

使用HaskellDB取消映射表记录的基本示例

假设我有以下(PostgreSQL)表定义:

CREATE TABLE books (
    id serial NOT NULL,
    title character varying NOT NULL,

    PRIMARY KEY (id)
);
Run Code Online (Sandbox Code Playgroud)

以下记录定义:

data Book = 
  { id :: Int
  , title :: String
  }
Run Code Online (Sandbox Code Playgroud)

查询数据库中所有书籍的"取消映射"功能的基本示例是什么allBooks :: Database -> IO [Book]

haskell haskelldb

12
推荐指数
1
解决办法
762
查看次数

标签 统计

haskell ×3

haskelldb ×3

haskell-platform ×1