我想用这种类型签名写一个函数:
getTypeRep :: Typeable a => t a -> TypeRep
其中 TypeRep 将是a的类型表示,而不是ta的类型表示。也就是说,编译器应该在任何调用站点 [to getTypeRep ] 自动返回正确的类型表示,这将具有a 的具体类型。
为了添加一些上下文,我想创建一个“动态类型”数据类型,它会记住顶级类型,但不会记住它的参数。例如,我想将MyClass a转换为Dynamic MyClass,上面的函数将用于创建Dynamic MyClass的实例,该实例存储类型参数a的表示形式。