view tests/cookie.ur @ 522:3162bbf8e30f

Avoid Especializing polymorphic code
author Adam Chlipala <adamc@hcoop.net>
date Thu, 27 Nov 2008 12:43:28 -0500
parents 1626dcba13ee
children
line wrap: on
line source
cookie c : string

fun other () =
    so <- getCookie c;
    case so of
        None => return <xml>No cookie</xml>
      | Some s => return <xml>Cookie: {[s]}</xml>

structure M = struct
    fun aux () =
        setCookie c "Hi";
        so <- getCookie c;
        case so of
            None => return <xml>No cookie</xml>
          | Some s => return <xml><body>Cookie: {[s]}<br/>
            <a link={other ()}>Other</a></body></xml>
end

fun main () : transaction page = return <xml><body>
  <a link={other ()}>Other</a><br/>
  <a link={M.aux ()}>Aux</a><br/>
</body></xml>