[svn] r6041: nemerle/trunk/lib/list.n
malekith
svnadmin at nemerle.org
Mon Dec 26 11:51:51 CET 2005
Log:
Use list comprehensions in MapFromArray and Filter.
Author: malekith
Date: Mon Dec 26 11:51:50 2005
New Revision: 6041
Modified:
nemerle/trunk/lib/list.n
Modified: nemerle/trunk/lib/list.n
==============================================================================
--- nemerle/trunk/lib/list.n (original)
+++ nemerle/trunk/lib/list.n Mon Dec 26 11:51:50 2005
@@ -793,15 +793,7 @@
public MapFromArray['a, 'b] (x : array ['a], f : 'a -> 'b) : list ['b]
{
- def len = x.Length;
-
- def loop (acc, index) : list ['b] {
- if (index < len)
- loop (f (x [index]) :: acc, index + 1)
- else
- List.Rev (acc)
- }
- loop ([], 0)
+ $[ f (e) | e in x ]
}
/* -- ITERATORS ON TWO LISTS ------------------------------------------- */
@@ -993,7 +985,7 @@
*/
public Filter ['a] (l : list ['a], f : 'a -> bool) : list ['a]
{
- List.Rev (RevFilter (l, f))
+ $[ x | x in l, f (x) ]
}
@@ -1185,6 +1177,7 @@
MergeSort (cmp, l)
}
+ // what is it for?!
public Copy['a] (l : list ['a]) : list ['a]
{
def loop (acc : list['a], what : list['a]) {
More information about the svn
mailing list