为(':)导出一个Typeable实例

Ale*_*lex 3 haskell

我试图为(':)导出一个Typeable实例

我正在使用DataKinds和[*].

我启用了TypeOperators,StandaloneDeriving和PolyKinds

我无法派生出一个可输入的实例

我试过了

deriving instance Typeable (':)
Run Code Online (Sandbox Code Playgroud)

deriving instance Typeable ':
Run Code Online (Sandbox Code Playgroud)

deriving instance Typeable ((':))
Run Code Online (Sandbox Code Playgroud)

但他们都得到解析错误.

我知道如果我写

data List a = Cons a (List a) | Empty

deriving instance Typeable (Cons)
Run Code Online (Sandbox Code Playgroud)

我得到了预期的结果,但我不想重写我现有的代码来使用自定义列表类型.

Dan*_*zer 8

这似乎有效

 deriving instance Typeable '(:)
Run Code Online (Sandbox Code Playgroud)

据推测,它'被设计用于标记"整体类型构造函数",包括它是否被分割?对我来说似乎有点奇怪.这与你要编写的元组一致

'(a, b)
Run Code Online (Sandbox Code Playgroud)