doc-src/Codegen/Thy/examples/arbitrary.ML
author blanchet
Wed, 06 Jun 2012 10:35:05 +0200
changeset 48088 c75f36d190df
parent 30226 2f4684e2ea95
permissions -rw-r--r--
generalized monotonic constructor optimisation so that it works with e.g. the product type
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21190
08ec81dfc7fb (continued)
haftmann
parents:
diff changeset
     1
structure Codegen = 
08ec81dfc7fb (continued)
haftmann
parents:
diff changeset
     2
struct
08ec81dfc7fb (continued)
haftmann
parents:
diff changeset
     3
08ec81dfc7fb (continued)
haftmann
parents:
diff changeset
     4
val arbitrary_option : 'a option = NONE;
08ec81dfc7fb (continued)
haftmann
parents:
diff changeset
     5
21994
dfa5133dbe73 updated manual
haftmann
parents: 21993
diff changeset
     6
fun dummy_option [] = arbitrary_option
dfa5133dbe73 updated manual
haftmann
parents: 21993
diff changeset
     7
  | dummy_option (x :: xs) = SOME x;
21190
08ec81dfc7fb (continued)
haftmann
parents:
diff changeset
     8
08ec81dfc7fb (continued)
haftmann
parents:
diff changeset
     9
end; (*struct Codegen*)