私は整数の 与えられたリストの長さとの和を計算するための以下の機能を持っている:整数のリストの長さと合計を1回の計算でどのように計算するのですか?
fun
length_and_sum
(xs: list0(int)): $tup(int(*length*), int(*sum*)) =
$tup(length(list0), list0_foldleft(xs, 0, lam(res, x) => res + x)
この関数は二回与えられたリストを横断し、それがある(2回のパスが必要です。長さのために一回の合計のために一度)。これを1回のパスで行う方法はありますか?