Catamorphism: Difference between revisions

Content added Content deleted
m (Added Delphi reference to Pascal code)
(Add BCPL)
Line 311: Line 311:
-13
-13
120</pre>
120</pre>

=={{header|BCPL}}==
<lang bcpl>get "libhdr"

let reduce(f, v, len, seed) =
len = 0 -> seed,
reduce(f, v+1, len-1, f(!v, seed))

let start() be
$( let add(x, y) = x+y
let mul(x, y) = x*y
let nums = table 1,2,3,4,5,6,7
writef("%N*N", reduce(add, nums, 7, 0))
writef("%N*N", reduce(mul, nums, 7, 1))
$)</lang>
{{out}}
<pre>28
5040</pre>


=={{header|Bracmat}}==
=={{header|Bracmat}}==