view tests/vlad3.ur @ 1516:c4f39b49aa2d

A few more tweaks to support Clang (including ending use of nested functions)
author Adam Chlipala <adam@chlipala.net>
date Sat, 23 Jul 2011 16:27:04 -0400
parents 7e3226c97678
children
line wrap: on
line source
cookie user : {EMail : string}

fun main () =
    ro <- getCookie user;
    case ro of
        Some u => welcome u
      | _ => login ()

and welcome u = return <xml><body>
  Welcome {[u.EMail]}. <a link={logout ()}>Logout</a>
</body></xml>

and logout () =
    clearCookie user;
    main ()

and login () = return <xml><body>
  <form>E-mail:<textbox{#EMail}/><submit action={signin}/></form>
</body></xml>
   
and signin r =
    setCookie user {Value = {EMail = r.EMail},
                    Expires = None, (* Some (readError "2012-11-6
00:00:00"), *)
                    Secure = False
                   };
    main ()