Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Maplist?

From: dness:home at: 8-Sep-2001 18:48

Larry Palmiter wrote:
> Hi David, > > Here is a short and simple version of MAP. I agree it would be nice if RT > would implement a fast internal version of MAP. I find it extremely useful. > > map: func [f1 b /local out][ > out: copy [] > repeat el b [append/only out f1 :el] > out > ] > > Use it like this for a named function (note the : prefix is needed to delay > full evaluation). > > >> map :to-integer ["123" "45667"] > == [123 45667] > > If the named function needs a refinement switch you delay evaluation with a > leading ' , like this: > > >> map 'sine/radians [0 30 90] > == [0 -0.988031624092862 0.893996663600556] > > You can also use it with an anonymous function (defined on the fly) like > this: > > >> map func [x][x * x] [1 2 3] > == [1 4 9] > > I am very interested in the list operators of Scheme, Lisp, and modern > functional languages like Haskell, Miranda, and Clean. I have implemented > many of them in REBOL. So feel free to ask more on this topic. > > You might also benefit from Ladislav Mecir's highfun.r library: > > http://www.sweb.cz/LMecir/highfun.r > > Cheers > -Larry >
Thanks. Another nice piece of code to (1) help me solve my problem; (2) teach me some more REBOL I appreciate your taking the trouble...