显然有些心不在焉,我写了类似于 以下内容:{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE TypeFamilies #-} class Foo f where type Bar f :: * retbar :: Bar...
如果我有一个带有幽灵参数的类型,但是我只有时候关心它,就像这个例子: data Foo p a b = Bar a b 有没有什么简便的方法可以编写一个类型同义词 Baz,使得对于某些我已经忘记的p,Baz a b 是 Foo p a b? 你不能这样做: type Baz a b ...
在 Haskell 中,base 库在 Data.Semigroup 中有以下类型同义词: type ArgMin a b = Min (Arg a b) type ArgMax a b = Max (Arg a b) 这里是两个哈达克链接:ArgMin 和 ArgMax 这两个类...