annotate tests/datatypeP2.ur @ 983:2cd8c1aa0d3a

Add tail call optimization to interpretation
author Adam Chlipala <adamc@hcoop.net>
date Thu, 24 Sep 2009 15:45:37 -0400
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>