aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/ur/list.ur
diff options
context:
space:
mode:
authorGravatar Robin Green <greenrd@greenrd.org>2011-06-27 21:36:32 +0100
committerGravatar Robin Green <greenrd@greenrd.org>2011-06-27 21:36:32 +0100
commit1cf91890aef13e748affc7f792be4872317096a7 (patch)
treebaaa835948c7145928d1263ae22b5021dd37eac8 /lib/ur/list.ur
parent81ecb7715080bda3c819e382b1634fc07ea595eb (diff)
recToList
Diffstat (limited to 'lib/ur/list.ur')
-rw-r--r--lib/ur/list.ur4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/ur/list.ur b/lib/ur/list.ur
index d0c2e7a1..32a9679c 100644
--- a/lib/ur/list.ur
+++ b/lib/ur/list.ur
@@ -353,3 +353,7 @@ fun assocAdd [a] [b] (_ : eq a) (x : a) (y : b) (ls : t (a * b)) =
case assoc x ls of
None => (x, y) :: ls
| Some _ => ls
+
+fun recToList [a ::: Type] [r ::: {Unit}] (fl : folder r)
+ = @foldUR [a] [fn _ => list a] (fn [nm ::_] [rest ::_] [[nm] ~ rest] x xs =>
+ x :: xs) [] fl