Mercurial > urweb
annotate lib/ur/list.urs @ 805:e2780d2f4afc
Mutual datatypes through Elaborate
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 16 May 2009 15:14:17 -0400 |
parents | e92cfac1608f |
children | 395a5d450cc0 |
rev | line source |
---|---|
adamc@794 | 1 datatype t = datatype Basis.list |
adamc@794 | 2 |
adamc@794 | 3 val show : a ::: Type -> show a -> show (list a) |
adamc@794 | 4 |
adamc@794 | 5 val rev : a ::: Type -> t a -> t a |
adamc@794 | 6 |
adamc@794 | 7 val mp : a ::: Type -> b ::: Type -> (a -> b) -> t a -> t b |
adamc@794 | 8 |
adamc@796 | 9 val mapX : a ::: Type -> ctx ::: {Unit} -> (a -> xml ctx [] []) -> t a -> xml ctx [] [] |
adamc@800 | 10 |
adamc@800 | 11 val mapM : m ::: (Type -> Type) -> monad m -> a ::: Type -> b ::: Type |
adamc@800 | 12 -> (a -> m b) -> list a -> m (list b) |