Catamorphism: Difference between revisions
Content added Content deleted
MaiconSoft (talk | contribs) m (Added Delphi reference to Pascal code) |
Not a robot (talk | contribs) (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}}== |