Mercurial > urweb
view tests/datatypeP.ur @ 506:65d8541c130b
Fusing writes with recursive function calls
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 25 Nov 2008 10:05:44 -0500 |
parents | 71bafe66dbe1 |
children |
line wrap: on
line source
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>