gpt4 book ai didi

haskell - 为什么 Haskell 的 'Generic' 类类型族 'Rep a' 被注释为类型构造函数,而不是类型?

转载 作者:行者123 更新时间:2023-12-02 02:26:58 26 4
gpt4 key购买 nike

考虑 Haskell 的 Generic类(class) :

class Generic a where
-- | Generic representation type
type Rep a :: * -> *
-- | Convert from the datatype to its representation
from :: a -> (Rep a) x
-- | Convert from the representation to the datatype
to :: (Rep a) x -> a
我很好奇为什么它没有写成如下:
class Generic a where
-- | Generic representation type
type Rep a :: *
-- | Convert from the datatype to its representation
from :: a -> Rep a
-- | Convert from the representation to the datatype
to :: Rep a -> a
更具体地说,类型变量 x 有什么作用?代表标准定义?

最佳答案

这样做是为了允许 GenericGeneric1类来共享它们的大部分表示类型。这是否真的是一个好主意是值得商榷的。尽量忽略多余的参数。

关于haskell - 为什么 Haskell 的 'Generic' 类类型族 'Rep a' 被注释为类型构造函数,而不是类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64233904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com