annotate demo/more/dlist.urs @ 1348:8a169fc0838b
Change tasks to support parametric code; add clientLeaves
author |
Adam Chlipala <adam@chlipala.net> |
date |
Sat, 18 Dec 2010 14:17:45 -0500 |
parents |
e9c5992bc9bc |
children |
68429cfce8db |
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
|
adamc@915
|
15 val render : ctx ::: {Unit} -> [ctx ~ body] => t ::: Type
|
adamc@915
|
16 -> (t -> position -> xml (ctx ++ body) [] [])
|
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
|
adamc@915
|
22 -> xml (ctx ++ body) [] []
|