Mercurial > urweb
annotate tests/datatypeP2.ur @ 1455:913d9c2f55c9
Corify Basis.unit to empty record; this is needed so that specialize
can see that they are equivalent.
author | Karn Kallio <kkallio@eka> |
---|---|
date | Fri, 06 May 2011 16:24:45 -0430 |
parents | 71bafe66dbe1 |
children |
rev | line source |
---|---|
adamc@194 | 1 datatype sum a b = Left of a | Right of b |
adamc@194 | 2 |
adamc@194 | 3 val l : sum int string = Left 5 |
adamc@194 | 4 val r : sum int string = Right "Hi" |
adamc@194 | 5 |
adamc@194 | 6 val show = fn x : sum int string => case x of Left _ => "Left _" | Right s => s |
adamc@194 | 7 |
adamc@194 | 8 val page = fn x => <html><body> |
adamc@194 | 9 {cdata (show x)} |
adamc@194 | 10 </body></html> |
adamc@194 | 11 |
adamc@194 | 12 val main : unit -> page = fn () => <html><body> |
adamc@194 | 13 <li><a link={page l}>Left</a></li> |
adamc@194 | 14 <li><a link={page r}>Right</a></li> |
adamc@194 | 15 </body></html> |