comparison lib/ur/basis.urs @ 756:8ce31c052dce

Subforms
author Adam Chlipala <adamc@hcoop.net>
date Tue, 28 Apr 2009 17:26:53 -0400
parents d484df4e841a
children fa2019a63ea4
comparison
equal deleted inserted replaced
755:58d8f877e1ee 756:8ce31c052dce
553 val a : bodyTag [Link = transaction page, Href = url, Onclick = transaction unit] 553 val a : bodyTag [Link = transaction page, Href = url, Onclick = transaction unit]
554 554
555 val img : bodyTag [Src = url] 555 val img : bodyTag [Src = url]
556 556
557 val form : ctx ::: {Unit} -> bind ::: {Type} 557 val form : ctx ::: {Unit} -> bind ::: {Type}
558 -> [[Body] ~ ctx] => 558 -> [[Body] ~ ctx] =>
559 xml form [] bind 559 xml form [] bind
560 -> xml ([Body] ++ ctx) [] [] 560 -> xml ([Body] ++ ctx) [] []
561
562 val subform : ctx ::: {Unit} -> use ::: {Type} -> bind ::: {Type}
563 -> [[Form] ~ ctx] =>
564 nm :: Name -> [[nm] ~ use] =>
565 xml form [] bind
566 -> xml ([Form] ++ ctx) use [nm = $bind]
567
561 con formTag = fn (ty :: Type) (inner :: {Unit}) (attrs :: {Type}) => 568 con formTag = fn (ty :: Type) (inner :: {Unit}) (attrs :: {Type}) =>
562 ctx ::: {Unit} 569 ctx ::: {Unit}
563 -> [[Form] ~ ctx] => 570 -> [[Form] ~ ctx] =>
564 nm :: Name -> unit 571 nm :: Name -> unit
565 -> tag attrs ([Form] ++ ctx) inner [] [nm = ty] 572 -> tag attrs ([Form] ++ ctx) inner [] [nm = ty]