comparison lib/ur/basis.urs @ 1004:a87495bcaeec

Start of user management
author Adam Chlipala <adamc@hcoop.net>
date Tue, 20 Oct 2009 12:48:53 -0400
parents 10114d7b7477
children 5a0f6ec208ce
comparison
equal deleted inserted replaced
1003:61c30f0742d7 1004:a87495bcaeec
592 592
593 val img : bodyTag ([Src = url, Onabort = transaction unit, Onerror = transaction unit, 593 val img : bodyTag ([Src = url, Onabort = transaction unit, Onerror = transaction unit,
594 Onload = transaction unit] ++ boxEvents) 594 Onload = transaction unit] ++ boxEvents)
595 595
596 val form : ctx ::: {Unit} -> bind ::: {Type} 596 val form : ctx ::: {Unit} -> bind ::: {Type}
597 -> [[Body] ~ ctx] => 597 -> [[Body, Form] ~ ctx] =>
598 xml form [] bind 598 xml ([Body, Form] ++ ctx) [] bind
599 -> xml ([Body] ++ ctx) [] [] 599 -> xml ([Body] ++ ctx) [] []
600 600
601 val subform : ctx ::: {Unit} -> use ::: {Type} -> bind ::: {Type} 601 val subform : ctx ::: {Unit} -> use ::: {Type} -> bind ::: {Type}
602 -> [[Form] ~ ctx] => 602 -> [[Form] ~ ctx] =>
603 nm :: Name -> [[nm] ~ use] => 603 nm :: Name -> [[nm] ~ use] =>
604 xml form [] bind 604 xml ([Form] ++ ctx) [] bind
605 -> xml ([Form] ++ ctx) use [nm = $bind] 605 -> xml ([Form] ++ ctx) use [nm = $bind]
606 606
607 val subforms : ctx ::: {Unit} -> use ::: {Type} -> bind ::: {Type} 607 val subforms : ctx ::: {Unit} -> use ::: {Type} -> bind ::: {Type}
608 -> [[Form] ~ ctx] => 608 -> [[Form, Subform] ~ ctx] =>
609 nm :: Name -> [[nm] ~ use] => 609 nm :: Name -> [[nm] ~ use] =>
610 xml subform [Entry = $bind] [] 610 xml ([Subform] ++ ctx) [Entry = $bind] []
611 -> xml ([Form] ++ ctx) use [nm = list ($bind)] 611 -> xml ([Form] ++ ctx) use [nm = list ($bind)]
612 612
613 val entry : ctx ::: {Unit} -> bind ::: {Type} 613 val entry : ctx ::: {Unit} -> bind ::: {Type}
614 -> [[Subform] ~ ctx] => 614 -> [[Subform, Form] ~ ctx] =>
615 xml form [] bind 615 xml ([Form] ++ ctx) [] bind
616 -> xml ([Subform] ++ ctx) [Entry = $bind] [] 616 -> xml ([Subform] ++ ctx) [Entry = $bind] []
617 617
618 con formTag = fn (ty :: Type) (inner :: {Unit}) (attrs :: {Type}) => 618 con formTag = fn (ty :: Type) (inner :: {Unit}) (attrs :: {Type}) =>
619 ctx ::: {Unit} 619 ctx ::: {Unit}
620 -> [[Form] ~ ctx] => 620 -> [[Form] ~ ctx] =>