如何使用包含类型参数类型列表的值构造函数创建数据类型

时间:2016-03-01 23:02:41

标签: haskell type-parameter

我有一个名为Fluent的类型参数的数据结构。 我想要一份清单。修复此代码最优雅的方法是什么?

data Fluent t = Fluent [t]
data Obj = Obj [Fluent]

编辑:我希望能够这样做:

f1 = Fluent [True, False]
f2 = Fluent [1, 2, 3, 4]
let o = Obj [f1, f2]

1 个答案:

答案 0 :(得分:3)

您必须将类型参数t传播到Obj类型:

data Fluent t = Fluent [t]
data Obj t = Obj [Fluent t]

:t Obj $ map Fluent ["a", "bcd"] -- Obj Char