> (defun avg (&rest args) > (/ (apply #'+ args) (length args))) > > Or as a macro like this: > > (defmacro avg (&rest args) > `(/ (+ ,@args) ,(length args))) > > The reason the macro is better is that the length of the list is known at > compile time, so you don't need to traverse the list to calculate the length > of the list. >
I'm trying to work out how awesome the (+) operator is that you can add the values together without needing to traverse the list ;-) D _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe