annotate tests/subforms.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 16b34dc2e29c
children
rev   line source
adamc@758 1 fun handler' ls =
adamc@758 2 case ls of
adamc@758 3 Nil => <xml/>
adamc@761 4 | Cons (r, ls) => <xml><li>{[r.Nam]}, {[r.A]}, {[r.B]}, {[r.Sub]}</li>{handler' ls}</xml>
adamc@758 5
adamc@758 6 fun handler r = return <xml><body>
adamc@759 7 {[r.A]}<br/>
adamc@759 8 {handler' r.Sub}
adamc@759 9 {[r.C]}
adamc@758 10 </body></xml>
adamc@758 11
adamc@758 12 fun main () = return <xml><body>
adamc@758 13 <form>
adamc@758 14 <textbox{#A}/><br/>
adamc@758 15 <subforms{#Sub}>
adamc@758 16 <entry>
adamc@761 17 <hidden{#Nam} value="Sparky"/>
adamc@758 18 <textbox{#A}/><br/>
adamc@758 19 <textbox{#B}/><br/>
adamc@758 20 <textbox{#Sub}/><br/>
adamc@758 21 </entry>
adamc@759 22
adamc@759 23 <entry>
adamc@761 24 <hidden{#Nam} value="Snarky"/>
adamc@759 25 <textbox{#A}/><br/>
adamc@759 26 <textbox{#B}/><br/>
adamc@759 27 <textbox{#Sub}/><br/>
adamc@759 28 </entry>
adamc@758 29 </subforms>
adamc@758 30 <textbox{#C}/><br/>
adamc@758 31 <submit action={handler}/>
adamc@758 32 </form>
adamc@758 33 </body></xml>