为什么 ATS 中有两种列表类型:list 和 list0?

Why are there two list types in ATS: list and list0?

在ATS代码中,经常看到两种列表类型:list和list0。它们有什么区别?

类型 list,如果您查看它的定义,它是长度索引的。

类型list0不是。

有时在编程时,精度过高会降低生产力。在这些情况下,list0 可能优于使用 list

在内部,list 值和 list0 值具有完全相同的表示。

您可以使用 g0ofg1_listlist 值转换为 list0 值,使用 g1ofg0_listlist0 值转换为list 值。请注意,g0ofg1g1ofg0 分别被 g0ofg1_listg1ofg0_list 重载。类似的功能包括 g0ofg1_int / g1ofg0_intg0ofg1_string / g1ofg0_string.