Catamorphism: Difference between revisions

no edit summary
(added Arturo)
No edit summary
Line 1,779:
rt :- run_tests(foldr),run_tests(foldl).
</lang>
 
=={{header|PureBasic}}==
<lang PureBasic>Procedure.i reduce(List l(),op$="+")
If FirstElement(l())
x=l()
While NextElement(l())
Select op$
Case "+" : x+l()
Case "-" : x-l()
Case "*" : x*l()
EndSelect
Wend
EndIf
ProcedureReturn x
EndProcedure
 
NewList fold()
For i=1 To 5 : AddElement(fold()) : fold()=i : Next
 
Debug reduce(fold())
Debug reduce(fold(),"-")
Debug reduce(fold(),"*")</lang>
{{out}}
<pre>15
-13
120</pre>
 
=={{header|Python}}==
164

edits