view tests/subforms.ur @ 1505:8c851e5508a7

Tutorial: up to First-Class Polymorphism
author Adam Chlipala <adam@chlipala.net>
date Sun, 17 Jul 2011 11:00:04 -0400
parents 16b34dc2e29c
children
line wrap: on
line source
fun handler' ls =
    case ls of
        Nil => <xml/>
      | Cons (r, ls) => <xml><li>{[r.Nam]}, {[r.A]}, {[r.B]}, {[r.Sub]}</li>{handler' ls}</xml>

fun handler r = return <xml><body>
  {[r.A]}<br/>
  {handler' r.Sub}
  {[r.C]}
</body></xml>

fun main () = return <xml><body>
  <form>
    <textbox{#A}/><br/>
    <subforms{#Sub}>
      <entry>
        <hidden{#Nam} value="Sparky"/>
        <textbox{#A}/><br/>
        <textbox{#B}/><br/>
        <textbox{#Sub}/><br/>
      </entry>

      <entry>
        <hidden{#Nam} value="Snarky"/>
        <textbox{#A}/><br/>
        <textbox{#B}/><br/>
        <textbox{#Sub}/><br/>
      </entry>
    </subforms>
    <textbox{#C}/><br/>
    <submit action={handler}/>
  </form>
</body></xml>