annotate tests/datatypeP2.lac @ 194:df5fd8f6913a

A multi-parameter datatype all the way through
author Adam Chlipala <adamc@hcoop.net>
date Sat, 09 Aug 2008 08:47:36 -0400
parents
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>