Haskell相当于Boost.Fusion

Jer*_*ock 10 haskell boost-fusion

我一直在使用GADT在Haskell中创建一个完全类型化的DSEL,对于一个完全类型安全的AST,似乎做一个正确类型的编译器需要构造,例如从Haskell类型到类型和值(类型环境)的映射并且可以通过Haskell类型系统理解.C++具有Boost.Fusion库,其中包含类似这些结构(类型 - >值映射,类型值向量等).Data.Tuple负责处理序列,但是有没有像Boost.Fusion这样的Haskell版本的东西map

Nat*_*ell 10

查看dependent-map包.我自己没有用过它,但它似乎做了你要求的.如果您需要真正使用类型(和仅类型)相等,那么您可能需要同意默认值或使用a TypeRep作为键.