Mercurial > urweb
annotate demo/more/dlist.urs @ 958:3aaac251a5af
Pseudo-sort working with filters
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 17 Sep 2009 19:15:10 -0400 |
parents | 2a50da66ffd8 |
children | 7e7edfb6fe82 |
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@937 | 11 val foldl : t ::: Type -> acc ::: Type -> (t -> acc -> signal acc) -> acc -> dlist t -> signal acc |
adamc@915 | 12 |
adamc@915 | 13 val render : ctx ::: {Unit} -> [ctx ~ body] => t ::: Type |
adamc@915 | 14 -> (t -> position -> xml (ctx ++ body) [] []) |
adamc@952 | 15 -> {Filter : t -> signal bool, |
adamc@952 | 16 Sort : signal (option (t -> t -> signal bool)) (* <= *)} |
adamc@915 | 17 -> dlist t |
adamc@915 | 18 -> xml (ctx ++ body) [] [] |