我有一个像
这样的数据类型Path a b = ...
有两种数据类型a和b(所有这些都有派生(Typeable))。有一个值
p = ... : Path A B
我需要p
的类型。我试过了
t = typeRep p
但仅获取最后一个类型参数(即 B)。有没有办法获取完整的类型参数,即 Path A B
?
最佳答案
只需使用typeOf
而不是typeRep
。比较:
typeOf :: Typeable a => a -> TypeRep
typeRep :: Typeable a => proxy a -> TypeRep
关于Haskell:如何获取具有多个参数的数据类型的类型(如 `Path a b = ..`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55219311/