Chapter #3 Examples in Oz
%%%%%%%%%%%%%%%%%%% Chapter - 3 %%%%%%%%%%%%%%%%%%%%%%
% 3.2
{Browse 2#anchovy(onion(anchovy(anchovy(cheese(crust)))))}
% 3.10
fun {RemoveAnchovy P}
case P
of crust then crust
[] cheese(X) then cheese({RemoveAnchovy X})
[] onion(X) then onion({RemoveAnchovy X})
[] anchovy(X) then {RemoveAnchovy X}
[] sausage(X) then sausage({RemoveAnchovy X})
end
end
% 3.4
{Browse 4#{RemoveAnchovy anchovy(onion(anchovy(anchovy(cheese(crust)))))}}
% 3.5
{Browse 5#{RemoveAnchovy sausage(onion(anchovy(sausage(cheese(crust)))))}}
% 3.11
{Browse 11#{RemoveAnchovy anchovy(crust)}}
% 3.13
{Browse 13#{RemoveAnchovy anchovy(anchovy(crust))}}
% 3.14
{Browse 14#{RemoveAnchovy onion(cheese(anchovy(anchovy(crust))))}}
% 3.15
local X in
X = cheese(anchovy(anchovy(crust)))
{Browse 15#onion({RemoveAnchovy X})}
end
% 3.16
{Browse 16#{RemoveAnchovy cheese(anchovy(anchovy(crust)))}}
% 3.17
local X in
X = anchovy(anchovy(crust))
{Browse 17#cheese({RemoveAnchovy X})}
end
% 3.18
{Browse 18#{RemoveAnchovy anchovy(anchovy(crust))}}
% 3.24
{Browse 24#{RemoveAnchovy cheese(anchovy(cheese(crust)))}}
% 3.26
{Browse 26#cheese({RemoveAnchovy anchovy(cheese(crust))})}
% 3.27
{Browse 27#{RemoveAnchovy anchovy(cheese(crust))}}
%%
fun {TopAnchovyWithCheese P}
case P
of crust then crust
[] cheese(X) then cheese({TopAnchovyWithCheese X})
[] onion(X) then onion({TopAnchovyWithCheese X})
[] anchovy(X) then cheese(anchovy({TopAnchovyWithCheese X}))
[] sausage(X) then sausage({TopAnchovyWithCheese X})
end
end
% 3.36
{Browse 36#{TopAnchovyWithCheese anchovy(cheese(anchovy(crust)))}}
% 3.37
{Browse 37#{TopAnchovyWithCheese onion(cheese(sausage(crust)))}}
% 3.45
{Browse 45#{TopAnchovyWithCheese {RemoveAnchovy onion(anchovy(cheese(anchovy(crust))))}}}
% 3.46
{Browse 46#{RemoveAnchovy {TopAnchovyWithCheese onion(anchovy(cheese(anchovy(crust))))}}}
% 3.49
fun {SubstAnchovyByCheese_ P}
{RemoveAnchovy {TopAnchovyWithCheese P}}
end
% 3.51
fun {SubsAnchovyByCheese P}
case P
of crust then crust
[] cheese(X) then cheese({SubsAnchovyByCheese X})
[] onion(X) then onion({SubsAnchovyByCheese X})
[] anchovy(X) then cheese({SubsAnchovyByCheese X})
[] sausage(X) then sausage({SubsAnchovyByCheese X})
end
end
|