adamc@915: con dlist :: Type -> Type adamc@915: type position adamc@915: adamc@951: 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@954: val replace : t ::: Type -> dlist t -> list t -> transaction unit adamc@954: adamc@915: val delete : position -> transaction unit adamc@915: val elements : t ::: Type -> dlist t -> signal (list t) adamc@964: val size : t ::: Type -> dlist t -> signal int adamc@965: val numPassing : t ::: Type -> (t -> signal bool) -> dlist t -> signal int adamc@937: val foldl : t ::: Type -> acc ::: Type -> (t -> acc -> signal acc) -> acc -> dlist t -> signal acc adamc@915: adamc@915: val render : ctx ::: {Unit} -> [ctx ~ body] => t ::: Type adamc@915: -> (t -> position -> xml (ctx ++ body) [] []) adamc@962: -> {StartPosition : signal (option int), adamc@963: MaxLength : signal (option int), adamc@962: Filter : t -> signal bool, adamc@952: Sort : signal (option (t -> t -> signal bool)) (* <= *)} adamc@915: -> dlist t adamc@915: -> xml (ctx ++ body) [] []