aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/ur/list.ur
diff options
context:
space:
mode:
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