g0ofg1 是什么意思?

What is the meaning of g0ofg1?

我经常在 ATS 中看到如下代码:

val xs = g0ofg1(xs)

函数 g0ofg1 看起来像是某种转换。它实际上有什么作用?

这是一个重载符号。

ATS 中有许多类型,存在索引和非索引变体。

  • 例如,存在 int(i)(对于某些 i 排序 int)和 int。两种类型都用于整数,但前者按 int 排序索引。
  • 另一个例子:string(只是一个字符串)和string(n)(长度索引字符串)

g0ofg1 用于将索引类型转换为非索引类型。这是一个 castfn,所以这个操作没有与之相关的运行时成本。

g1ofg0 用于另一个方向:从非索引类型到索引类型。