annotate demo/more/dlist.urs @ 2009:799be3911ce3

Monadic bind supports patterns
author Adam Chlipala <adam@chlipala.net>
date Fri, 02 May 2014 17:16:02 -0400
parents 68429cfce8db
children
rev   line source
adamc@915 1 con dlist :: Type -> Type
adamc@915 2 type position
adamc@915 3
adamc@951 4 val create : t ::: Type -> transaction (dlist t)
adamc@915 5 val clear : t ::: Type -> dlist t -> transaction unit
adamc@915 6 val append : t ::: Type -> dlist t -> t -> transaction position
adamc@954 7 val replace : t ::: Type -> dlist t -> list t -> transaction unit
adamc@954 8
adamc@915 9 val delete : position -> transaction unit
adamc@915 10 val elements : t ::: Type -> dlist t -> signal (list t)
adamc@964 11 val size : t ::: Type -> dlist t -> signal int
adamc@965 12 val numPassing : t ::: Type -> (t -> signal bool) -> dlist t -> signal int
adamc@937 13 val foldl : t ::: Type -> acc ::: Type -> (t -> acc -> signal acc) -> acc -> dlist t -> signal acc
adamc@915 14
adam@1641 15 val render : ctx ::: {Unit} -> [ctx ~ [Dyn]] => t ::: Type
adam@1641 16 -> (t -> position -> xml (ctx ++ [Dyn]) [] [])
adamc@962 17 -> {StartPosition : signal (option int),
adamc@963 18 MaxLength : signal (option int),
adamc@962 19 Filter : t -> signal bool,
adamc@952 20 Sort : signal (option (t -> t -> signal bool)) (* <= *)}
adamc@915 21 -> dlist t
adam@1641 22 -> xml (ctx ++ [Dyn]) [] []