Thats the CL'ism I was hanging on to! Thanks for the amazing and prompt replies.
On Dec 10, 1:59 pm, Dean Ferreyra <[EMAIL PROTECTED]> wrote: > Ryan Neufeld wrote: > > I've been working on learning Clojure after taking a course in Common > > Lisp and I am having some troubles translating a particular Common > > Lisp function to Clojure that uses mapping. > > > We're defining a function that takes a function and two lists and > > applies the function to each two items in the lists. Not particularly > > safe or anything, but decent for learning. > > > In CL: > > (defun parallel (F L1 L2) > > (mapcar #'(lambda (x y) (funcall F x y)) L1 L2)) > > > (parallel '+ '(1 2 3) '(4 5 6)) ;; => (5 7 9) ;; Working correctly > > > My attempt in Clojure: > > (defn parallel [F L1 L2] (map (fn [x y] (F x y)) L1 L2)) > > -- OR -- > > (defn parallel [F L1 L2] (map F L1 L2)) > > > however... > > (parallel '+ '(1 2 3) '(4 5 6)) => (4 5 6) > > > I gleaned what I could from the Clojure wiki but I'm still missing > > something. > > > Any pointers on where I am going wrong? > > You've almost got it -- just don't quote the +: > > user> (parallel + '(1 2 3) '(4 5 6)) > (5 7 9) > > By quoting the + you were passing in the symbol, not the function. > > Dean --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---