About LML The following Oz code is derived from the examples provided in the book:
      "The Little MLer" by Matthias Felleisen and Daniel P. Friedman.
      http://www.ccs.neu.edu/home/matthias/BTML/

Chapter #2 Examples in Oz
%%%%%%%%%%%%%%%%%%% Chapter - 2 %%%%%%%%%%%%%%%%%%%%%%

% 2.2
{Browse 2#skewer}

% 2.3
{Browse 3#onion(skewer)}

% 2.4
{Browse 4#onion(lamb(onion(skewer)))}

% 2.15
fun {OnlyOnions S}
   case S
   of skewer    then true
   [] onion(X)  then {OnlyOnions X}
   [] lamb(_)   then false
   [] tomato(_) then false
   end
end

% 2.5
{Browse 5#{OnlyOnions skewer}}

% 2.6
{Browse 6#{OnlyOnions onion(skewer)}}

% 2.7
{Browse 7#{OnlyOnions lamb(skewer)}}

% 2.8
{Browse 8#{OnlyOnions onion(onion(onion(skewer)))}}

% 2.9
{Browse 9#{OnlyOnions onion(lamb(onion(skewer)))}}

% 2.34
{Browse 34#{OnlyOnions onion(onion(skewer))}}

% 2.43
{Browse 43#{OnlyOnions onion(lamb(skewer))}}

% 2.58
{Browse 43#tomato(skewer)}

% 2.59
{Browse 43#onion(tomato(skewer))}

% 2.63
fun {IsVegetarian S}
   case S
   of skewer    then true
   [] onion(X)  then {IsVegetarian X}
   [] lamb(_)   then false
   [] tomato(X) then {IsVegetarian X}
   end
end

% 2.61
{Browse 61#{IsVegetarian tomato(onion(tomato(skewer)))}}

% 2.62
{Browse 62#{IsVegetarian onion(onion(onion(skewer)))}}

% 2.69
{Browse 69#onion(tomato(bottom(dagger)))}

% 2.73
fun {IsVeggie S}
   case S
   of bottom(_) then true
   [] onion(X)  then {IsVeggie X}
   [] lamb(_)   then false
   [] tomato(X) then {IsVeggie X}
   end
end

% 2.70
{Browse 70#{IsVeggie onion(tomato(bottom(dagger)))}}

% 2.71
{Browse 71#onion(tomato(bottom(gold_plate)))}

% 2.72
{Browse 72#{IsVeggie onion(tomato(bottom(gold_plate)))}}

% 2.85
{Browse 85#{IsVeggie onion(tomato(bottom(52)))}}

% 2.86
{Browse 86#{IsVeggie onion(tomato(bottom(one_more_than(zero))))}}

% 2.87
{Browse 87#{IsVeggie onion(tomato(bottom(false)))}}

% 2.108
fun {WhatBottom S}
   case S
   of bottom(X) then X
   [] onion(X)  then {WhatBottom X}
   [] lamb(X)   then {WhatBottom X}
   [] tomato(X) then {WhatBottom X}
   end
end

% 2.92
{Browse 92#{WhatBottom onion(tomato(bottom(dagger)))}}

% 2.93
{Browse 93#{WhatBottom onion(tomato(bottom(gold_plate)))}}

% 2.94
{Browse 94#{WhatBottom onion(tomato(bottom(52)))}}

% 2.99
{Browse 99#{WhatBottom bottom(52)}}

% 2.100
{Browse 100#{WhatBottom bottom(sword)}}

% 2.101
{Browse 101#{WhatBottom bottom(x)}}

% 2.103
{Browse 103#{WhatBottom tomato(onion(lamb(bottom(52))))}}

% 2.104
{Browse 104#{WhatBottom onion(lamb(bottom(52)))}}

% 2.105
{Browse 105#{WhatBottom lamb(bottom(52))}}

% 2.106
{Browse 106#{WhatBottom bottom(52)}}

Chris Rathman / Chris.Rathman@tx.rr.com