adamc@915: con dlist :: Type -> Type adamc@915: type position adamc@915: adamc@915: val create : t ::: Type -> transaction (dlist t) adamc@915: val clear : t ::: Type -> dlist t -> transaction unit adamc@915: val append : t ::: Type -> dlist t -> t -> transaction position adamc@915: val delete : position -> transaction unit adamc@915: val elements : t ::: Type -> dlist t -> signal (list t) adamc@915: adamc@915: val render : ctx ::: {Unit} -> [ctx ~ body] => t ::: Type adamc@915: -> (t -> position -> xml (ctx ++ body) [] []) adamc@915: -> dlist t adamc@915: -> xml (ctx ++ body) [] []