Pascal's triangle: Difference between revisions

Added Oz.
(Added Oz.)
Line 711:
 
pascaltriangle(4);</lang>
 
=={{header|Oz}}==
<lang oz>declare
fun {NextLine Xs}
{List.zip 0|Xs {Append Xs [0]}
fun {$ Left Right}
Left + Right
end}
end
 
fun {Triangle N}
{List.take {Iterate [1] NextLine} N}
end
 
fun lazy {Iterate I F}
I|{Iterate {F I} F}
end
 
%% Only works nicely for N =< 5.
proc {PrintTriangle T}
N = {Length T}
in
for
Line in T
Indent in N-1..0;~1
do
for _ in 1..Indent do {System.printInfo " "} end
for L in Line do {System.printInfo L#" "} end
{System.printInfo "\n"}
end
end
in
{PrintTriangle {Triangle 5}}</lang>
 
=={{header|Perl}}==
Anonymous user