Mercurial > urweb
view demo/subforms.ur @ 1708:e263dab7b579
Optimize code from last changeset a bit
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 08 Apr 2012 16:29:28 -0400 |
parents | 0084af7af35a |
children | be0c4e2e488a |
line wrap: on
line source
fun sub r = let fun sub' ls = case ls of [] => <xml/> | r :: ls => <xml> <li>{[r.Num]} = {[r.Text]}</li> {sub' ls} </xml> in return <xml><body> {sub' r.Lines} </body></xml> end fun subforms n = if n <= 0 then <xml/> else <xml> <entry> <hidden{#Num} value={show n}/> <li>{[n]}: <textbox{#Text}/></li> </entry> {subforms (n - 1)} </xml> fun form n = return <xml><body> <form> <subforms{#Lines}> {subforms n} </subforms> <submit action={sub}/> </form> <a link={form (n + 1)}>One more blank</a><br/> {if n > 0 then <xml><a link={form (n - 1)}>One fewer blank</a></xml> else <xml/>} </body></xml> fun main () = form 1