有人能指出我在Haskell中为GADT定义Typeable或Typeable1实例的一组很好的例子.
或者,有人可以向我展示如何为以下GADT定义Typeable(手动).
data V a where
Unit :: V ()
Pair :: V a -> V b -> V (a, b)
L :: V a -> V (Either a b)
R :: V b -> V (Either a b)
Fresh :: Int -> V a
Run Code Online (Sandbox Code Playgroud)
或者,指向介绍该想法的论文的指针也会有所帮助.