diff options
author | Adam Chlipala <adam@chlipala.net> | 2010-11-21 15:43:24 -0500 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2010-11-21 15:43:24 -0500 |
commit | 4f2c619bb0971153c518f120c8911ce3a94f783d (patch) | |
tree | dce4ca25e55d3b9903a007859753068db4756515 /lib/ur/list.ur | |
parent | 61c8fdf76c28f65b8b483f68d2d1f5597fdf58ce (diff) |
Fix a bug in C list unurlification
Diffstat (limited to 'lib/ur/list.ur')
-rw-r--r-- | lib/ur/list.ur | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/ur/list.ur b/lib/ur/list.ur index 71d8fa98..354ef132 100644 --- a/lib/ur/list.ur +++ b/lib/ur/list.ur @@ -308,6 +308,20 @@ fun sort [a] (gt : a -> a -> bool) (ls : t a) : t a = sort' ls end +val nth [a] = + let + fun nth (ls : list a) (n : int) : option a = + case ls of + [] => None + | x :: ls' => + if n <= 0 then + Some x + else + nth ls' (n-1) + in + nth + end + fun assoc [a] [b] (_ : eq a) (x : a) = let fun assoc' (ls : list (a * b)) = |