functor
import
Application
System
local
fun lazy {Times N H}
case H of nil then
nil
[] Head|Tail then
Head*N | {Times N Tail}
end
end
fun lazy {Merge Xs Ys}
case Xs of nil then
Ys
[] X|Xr then
case Ys of nil then
nil
[] Y|Yr then
if X < Y then
X|{Merge Xr Ys}
elseif X > Y then
Y|{Merge Xs Yr}
else
X|{Merge Xr Yr}
end
end
end
end
proc {Touch N H}
case H of nil then
{System.showInfo "koniec"}
[] Head|Tail then
if N > 0 then
{System.showInfo Head}
{Touch N-1 Tail}
end
end
end
fun {Hamming H N}
if N > 0 then
H | {Hamming {Merge {Merge {Times 2 H} {Times 3 H}} {Times 5 H}} N-1}
else
nil
end
end
in
{Touch 10 {Hamming [1] 100}}
end
ZnVuY3RvcgppbXBvcnQKICAgQXBwbGljYXRpb24KICAgU3lzdGVtCmxvY2FsCiAgIGZ1biBsYXp5IHtUaW1lcyBOIEh9CiAgICAgIGNhc2UgSCBvZiBuaWwgdGhlbgoJIG5pbAogICAgICBbXSBIZWFkfFRhaWwgdGhlbgoJIEhlYWQqTiB8IHtUaW1lcyBOIFRhaWx9CiAgICAgIGVuZAogICBlbmQKICAgZnVuIGxhenkge01lcmdlIFhzIFlzfQogICAgICBjYXNlIFhzIG9mIG5pbCB0aGVuCgkgWXMKICAgICAgW10gWHxYciB0aGVuCgkgY2FzZSBZcyBvZiBuaWwgdGhlbgoJICAgIG5pbAoJIFtdIFl8WXIgdGhlbgoJICAgIGlmIFggPCBZIHRoZW4KCQkgWHx7TWVyZ2UgWHIgWXN9CgkgICAgICBlbHNlaWYgWCA+IFkgdGhlbgoJCSBZfHtNZXJnZSBYcyBZcn0KCSAgICAgIGVsc2UKCQkgWHx7TWVyZ2UgWHIgWXJ9CgkgICAgICBlbmQKCSBlbmQKICAgICAgZW5kCiAgIGVuZAogICBwcm9jIHtUb3VjaCBOIEh9CiAgICAgIGNhc2UgSCBvZiBuaWwgdGhlbgoJIHtTeXN0ZW0uc2hvd0luZm8gImtvbmllYyJ9CiAgICAgIFtdIEhlYWR8VGFpbCB0aGVuCgkgaWYgTiA+IDAgdGhlbgoJICAgIHtTeXN0ZW0uc2hvd0luZm8gSGVhZH0KCSAgICB7VG91Y2ggTi0xIFRhaWx9CgkgZW5kCiAgICAgIGVuZAogICBlbmQKICAgZnVuIHtIYW1taW5nIEggTn0KICAgICAgaWYgTiA+IDAgdGhlbgoJIEggfCB7SGFtbWluZyB7TWVyZ2Uge01lcmdlIHtUaW1lcyAyIEh9ICB7VGltZXMgMyAgSH19IHtUaW1lcyA1IEh9fSBOLTF9CiAgICAgIGVsc2UKCSBuaWwKICAgICAgZW5kCiAgIGVuZAppbgogICB7VG91Y2ggMTAge0hhbW1pbmcgWzFdIDEwMH19CmVuZAo=
Mozart Compiler 1.4.0 (20080704) playing Oz 3
%%% feeding file prog.oz
%*************************** parse error ************************
%**
%** syntax error, unexpected T_local, expecting T_end
%**
%** in file "./prog.oz", line 5, column 0
%** ------------------ rejected (1 error)