Mercurial > feed
comparison src/ur/feed.urs @ 6:e0bae488825c
'O' versions of tagA and children
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sat, 15 Jan 2011 15:25:22 -0500 |
parents | 2717458d8951 |
children | 05a28a77f6fe |
comparison
equal
deleted
inserted
replaced
5:2717458d8951 | 6:e0bae488825c |
---|---|
7 val tag : attrs ::: {Unit} -> folder attrs -> string -> $(mapU string attrs) | 7 val tag : attrs ::: {Unit} -> folder attrs -> string -> $(mapU string attrs) |
8 -> pattern (tagInternal attrs) {Attrs : $(mapU string attrs), Cdata : option string} | 8 -> pattern (tagInternal attrs) {Attrs : $(mapU string attrs), Cdata : option string} |
9 | 9 |
10 val tagA : attrs ::: {Unit} -> folder attrs -> string -> $(mapU string attrs) | 10 val tagA : attrs ::: {Unit} -> folder attrs -> string -> $(mapU string attrs) |
11 -> pattern (tagInternal attrs) $(mapU string attrs) | 11 -> pattern (tagInternal attrs) $(mapU string attrs) |
12 val tagAO : attrs ::: {Unit} -> folder attrs -> string -> $(mapU string attrs) | |
13 -> pattern (tagInternal attrs) $(mapU (option string) attrs) | |
14 | |
12 val tagC : string -> pattern (tagInternal []) string | 15 val tagC : string -> pattern (tagInternal []) string |
13 | 16 |
14 con childrenInternal :: Type -> {Type} -> Type | 17 con childrenInternal :: Type -> {Type} -> Type |
15 | 18 |
16 val children : parentI ::: Type -> parent ::: Type -> children ::: {(Type * Type)} | 19 val children : parentI ::: Type -> parent ::: Type -> children ::: {(Type * Type)} |
17 -> pattern parentI parent -> $(map (fn (i, d) => pattern i d) children) -> folder children | 20 -> pattern parentI parent -> $(map (fn (i, d) => pattern i d) children) -> folder children |
18 -> pattern (childrenInternal parentI (map fst children)) (parent * $(map snd children)) | 21 -> pattern (childrenInternal parentI (map fst children)) (parent * $(map snd children)) |
22 val childrenO : parentI ::: Type -> parent ::: Type -> children ::: {(Type * Type)} | |
23 -> pattern parentI parent -> $(map (fn (i, d) => pattern i d) children) -> folder children | |
24 -> pattern (childrenInternal parentI (map fst children)) (parent * $(map (fn (i, d) => option d) children)) | |
19 | 25 |
20 con treeInternal :: Type -> Type -> Type | 26 con treeInternal :: Type -> Type -> Type |
21 | 27 |
22 val tree : parentI ::: Type -> parent ::: Type -> childI ::: Type -> child ::: Type | 28 val tree : parentI ::: Type -> parent ::: Type -> childI ::: Type -> child ::: Type |
23 -> pattern parentI parent -> pattern childI child | 29 -> pattern parentI parent -> pattern childI child |