我正在通过LYAH工作,我想扩展Type-foo章节。我想出了以下类型:
data Frank a b = Frank {first :: a b, second :: b}
-- Frank :: (* -> *) -> * -> *
-- Frank :: a b -> b -> Frank a b
我想让它成为豆腐类的一个实例:
class Tofu t where -- Tofu :: ((* -> *) -> * -> *) -> Constraint
tofu :: a b -> t a b
任何人都可以想出一个简单的实例吗?