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