我正在研究hana,我很惊讶地看到它具有 type
的概念(类型的"类型的容器",类似于一个单元素元素,没有实际值(,但是类型(type
的序列(是实验特征。
有人知道为什么吗?与单一类型的容器相反的类型列表是什么?
答案基本上是杰森所说的:
我想将类型视为
hana::Sequence
,但不会通过法律,因为它不会容纳任何类型的价值(例如具有运行时状态的值(。
"问题"是不能使hana::types
成为hana::Sequence
,因为hana::Sequence
应该能够保持任意物品,而不仅仅是类型。虽然这似乎没什么大不了的,但实际上是。例如,我们也将无法满足hana::Monad
,因为这需要hana::flatten
,其签名为M<M<T>> -> M<T>
,对于任意hana::Monad
M
。由于hana::types
只能容纳类型,因此您无法拥有例如。 hana::types<hana::types<int, char>, hana::types<float, long>>
没有特殊评估。
无论解决方案是什么,我都想找到一个不会打破HANA概念完整性的解决方案,同时仍然允许更加汇编的高效类型列表。