Chr*_*icz 11
任何这些包的问题都是其目标的范围.HList实际上是5种不同的标签实现,两种类型相等,两种类型转换,两种Record/RecordP,以及Variant vs TIC选择.所有这些都是相似的,但是使用的易用性,可移植性和扩展性是不同的权衡.
较新的GHC特征(GADT,相关类型,约束类型,多态类型,单例类型)可能允许稍微不同的权衡.特别是单例类型可以允许更好的标签,并且多态类型可以允许更优雅的Typeable/Data/Generics.
您链接到的"记录"包取决于声明的"种类"包:
"Haskell不支持subkinds和subkind多态.但是,这个包可以用来模拟subkinds of kind*和subkind变量."
但是,由于在新的GHC版本中将数据类型推广到各种类型,这已不再适用.因此,2012年1月的套餐现在可能已经过时了.
至于记录,也许一个新的系统将从最新一轮的多态镜头中汲取:镜头和/或镜头系列.