diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-08-31 08:32:18 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-08-31 08:32:18 -0400 |
commit | 447b60afccc89ef18d8f92a260dd1fcdf735898e (patch) | |
tree | 93d1ffca9832084286525896afc4c17eaf5d23f4 /tests/datatypeP.ur | |
parent | 508290e29047e068b9db4b02485fefd9e3ced81c (diff) |
Laconic -> Ur
Diffstat (limited to 'tests/datatypeP.ur')
-rw-r--r-- | tests/datatypeP.ur | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/datatypeP.ur b/tests/datatypeP.ur new file mode 100644 index 00000000..171d8812 --- /dev/null +++ b/tests/datatypeP.ur @@ -0,0 +1,21 @@ +datatype option a = None | Some of a + +val none : option int = None +val some_1 : option int = Some 1 + +val f = fn t ::: Type => fn x : option t => + case x of None => None | Some x => Some (Some x) + +val none_again = f none +val some_1_again = f some_1 + +val show = fn t ::: Type => fn x : option t => case x of None => "None" | Some _ => "Some" + +val page = fn x => <html><body> + {cdata (show x)} +</body></html> + +val main : unit -> page = fn () => <html><body> + <li><a link={page none_again}>None</a></li> + <li><a link={page some_1_again}>Some 1</a></li> +</body></html> |