| author | haftmann |
| Tue, 09 Jan 2007 19:09:01 +0100 | |
| changeset 22050 | 859e5784c58c |
| parent 21994 | dfa5133dbe73 |
| child 22386 | 4ebe883b02ff |
| permissions | -rw-r--r-- |
structure ROOT = struct structure Nat = struct datatype nat = Zero_nat | Suc of nat; fun less_nat Zero_nat (Suc n) = true | less_nat n Zero_nat = false | less_nat (Suc m) (Suc n) = less_nat m n; fun minus_nat (Suc m) (Suc n) = minus_nat m n | minus_nat Zero_nat n = Zero_nat | minus_nat y Zero_nat = y; end; (*struct Nat*) structure Codegen = struct fun pick ((k, v) :: xs) n = (if Nat.less_nat n k then v else pick xs (Nat.minus_nat n k)); end; (*struct Codegen*) end; (*struct ROOT*)