view demo/more/dlist.urs @ 1433:66092ce45a76

Ignore JavaScript events in Effectize; allow extra spaces for 'jsFunc'; eat carriage returns at line ends in .urp files
author Adam Chlipala <adam@chlipala.net>
date Thu, 10 Mar 2011 20:22:03 -0500
parents e9c5992bc9bc
children 68429cfce8db
line wrap: on
line source
con dlist :: Type -> Type
type position

val create : t ::: Type -> transaction (dlist t)
val clear : t ::: Type -> dlist t -> transaction unit
val append : t ::: Type -> dlist t -> t -> transaction position
val replace : t ::: Type -> dlist t -> list t -> transaction unit

val delete : position -> transaction unit
val elements : t ::: Type -> dlist t -> signal (list t)
val size : t ::: Type -> dlist t -> signal int
val numPassing : t ::: Type -> (t -> signal bool) -> dlist t -> signal int
val foldl : t ::: Type -> acc ::: Type -> (t -> acc -> signal acc) -> acc -> dlist t -> signal acc

val render : ctx ::: {Unit} -> [ctx ~ body] => t ::: Type
             -> (t -> position -> xml (ctx ++ body) [] [])
             -> {StartPosition : signal (option int),
                 MaxLength : signal (option int),
                 Filter : t -> signal bool,
                 Sort : signal (option (t -> t -> signal bool)) (* <= *)}
             -> dlist t
             -> xml (ctx ++ body) [] []