gpt4 book ai didi

c++ - 为什么 boost::hana::experimental::types 是一个实验性的特性?类型列表有什么棘手之处?

转载 作者:行者123 更新时间:2023-11-30 02:25:19 25 4
gpt4 key购买 nike

我正在调查 Hana我很惊讶地看到它有一个 type 的概念(一种“类型的容器”,类似于没有实际值的单元素元组),但是 types (type 的序列)是一项实验性功能。

有人知道为什么吗?与单一类型的容器相比,类型列表有何复杂之处?

最佳答案

答案基本上就是杰森所说的:

I'd like to see types as a hana::Sequence but it wouldn't pass the laws as it won't hold any kind of value (like values with run-time state).

“问题”是 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 概念完整性的解决方案,同时仍然允许编译时效率更高的类型列表。

关于c++ - 为什么 boost::hana::experimental::types 是一个实验性的特性?类型列表有什么棘手之处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44368158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com