ATS库中是否存在用于处理列表段的列表映射的变体?

时间:2017-09-29 16:07:02

标签: ats

我有兴趣处理给定列表的一部分而不实际构建该段。我想这是原位处理的形式。

1 个答案:

答案 0 :(得分:0)

此刻我能做的最接近的事情就是建立一个线性流(stream_vt):

#include
"share/atspre_staload.hats"
#include
"share/atspre_staload_libats_ML.hats"

fun
{a:t@ype}
streamize_list0_seg
( xs: list0(a)
, i0: intGte(0), n: intGte(0)): stream_vt(a) =
(
stream_vt_takeLte
  (streamize_list0_elt(list0_drop_exn(xs, i0)), n)
)

函数streamize_list0_seg为选定的列表段构建线性流。请注意,只能访问线性流中的第一个节点(如果存在)。