Haskell:如何获取具有多个参数的数据类型的类型(如 `Path a b = ..`

标签 haskell

我有一个像

这样的数据类型
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/

相关文章:

Haskell,forM - 为什么这段代码返回这样的结果?

haskell - 为什么在Num中没有定义(/)时编译 "1/2"?

networking - 在win32/cygwin上编译haskell模块网络

haskell - 是否有带有显式子类型的 ADT 名称?

haskell - cabal 安装 fpco-api 错误

Haskell识别算术数列

optimization - 我怎样才能优化这个列表理解?

haskell - 如何查看Monad Reader的代码?

haskell - 举例说明实际的括号 hell 程序

haskell - Lens.Family2 中的 folded 相当于什么?