style inputs structure U = OpenidUser.Make(struct con cols = [Nam = string] val sessionLifetime = 3600 val afterLogout = bless "/main" val secureCookies = False val association = Openid.Stateful {AssociationType = Openid.HMAC_SHA256, AssociationSessionType = Openid.NoEncryption} val realm = None val creationState = n <- source ""; return {Nam = n} fun render r = Name: fun tabulate r = n <- signal r.Nam; return {Nam = n} fun choose _ r = return r val formClass = inputs end) fun wrap title body = userStuff <- U.main wrap; return {[title]} {userStuff}

{[title]}

{body}
fun main () = whoami <- U.current; wrap "Main page" (case whoami of None => I don't think you're logged in. | Some whoami => Apparently you are {[whoami]}!)