heptagon/test/good/array_iterators.ept
Cédric Pasteur 9e7c013fe2 Completion_mapfold
- Added it_gather combinator to create simply
a version of an iterating function using a gather
to combine accumulator values

Completion_mapfold and every_mapfold seems to work
2010-07-09 13:27:06 +02:00

45 lines
688 B
Plaintext

const n:int = 42
node plusone(a:int) returns (o:int)
let
o = a+1;
tel
node g(a:int^n) returns (o:int^n)
let
o = map plusone <<n>>(a);
tel
node sum_acc (a, acc_in:int) returns (acc_out:int)
let
acc_out = acc_in + a;
tel
node h(a:int^n) returns (m:int)
let
m = fold sum_acc <<n>>(a, 0);
tel
node sum_dup (a, acc_in:int) returns (o:int; acc_out:int)
let
acc_out = acc_in + a;
o = acc_out;
tel
node p(a:int^n) returns (o:int^n)
var acc:int;
let
(o, acc) = mapfold sum_dup <<n>>(a, 0);
tel
node k(a,b:int^n) returns (o:int^n)
let
o = map (+) <<n>>(a,b);
tel
node iter_reset(a:int^n; r:bool) returns (o:int^n)
let
reset
o = map plusone <<n>>(a);
every (r & r)
tel