view tests/unurlify.ur @ 1272:56bd4a4f6e66

Some serious bug-fix work to get HTML example to compile; this includes fixing a bug with 'val' patterns in Unnest and the need for more local reduction in Especialize
author Adam Chlipala <adamc@hcoop.net>
date Thu, 03 Jun 2010 13:04:37 -0400
parents ebf27030ae3b
children
line wrap: on
line source
datatype list t = Nil | Cons of t * list t

fun handler (ls : list bool) = return <xml/>

datatype wlist = WNil | Empty | WCons of bool * wlist

fun whandler' (ls : wlist) =
    case ls of
        WNil => <xml>Nil</xml>
      | Empty => <xml>Empty</xml>
      | WCons (x, ls') => <xml>{[x]} :: {whandler' ls'}</xml>

fun whandler ls = return (whandler' ls)

fun main () : transaction page = return <xml><body>
  <a link={handler Nil}>!</a><br/>
  <a link={whandler WNil}>Nil</a><br/>
  <a link={whandler Empty}>Empty</a><br/>
  <a link={whandler (WCons (True, WCons (False, Empty)))}>True :: False :: Empty</a><br/>
</body></xml>