Re: Function Design: sequence or argument?

2010-11-19 Thread Jarl Haggerty
I always write a function to take varargs because it can also take a list using apply. (+ 1 2 3 4 5) (apply + [1 2 3 4 5]) On Nov 15, 9:52 am, Chris christopher.ma...@gmail.com wrote: If you have a function that needs to treat multiple arguments as a group, what forces drive you to represent

Re: Function Design: sequence or argument?

2010-11-19 Thread Alan
I always write a function to take a single seq argument because it can also take varargs if I wrap them in a seq. (defn add [nums] (reduce + nums)) (add some-seq) (add [1 2 3 4 5]) On Nov 19, 4:19 pm, Jarl Haggerty fictivela...@gmail.com wrote: I always write a function to take varargs

Re: Function Design: sequence or argument?

2010-11-19 Thread Eric Schulte
I generally prefer to pass in a sequence rather than use a variable number of arguments. The only time variable arguments are really useful is in functions like map (or maybe +) in which you rarely use more than one (or two) arguments and it would be a pain to wrap the last argument in a list.

Re: Function Design: sequence or argument?

2010-11-16 Thread Chris Maier
That makes sense... thanks, Meikel. Maybe my example of + wasn't the best, given its mathematical nature. Here's my situation: I'm writing some software to analyze some protein datasets, part of which entails generating a Venn diagram of their intersections. Each dataset has a unique name, and

Re: Function Design: sequence or argument?

2010-11-16 Thread Christophe Grand
Hi, On Tue, Nov 16, 2010 at 5:21 PM, Chris Maier christopher.ma...@gmail.comwrote: That makes sense... thanks, Meikel. Maybe my example of + wasn't the best, given its mathematical nature. Here's my situation: I'm writing some software to analyze some protein datasets, part of which

Re: Function Design: sequence or argument?

2010-11-16 Thread Vagif Verdi
On Nov 15, 8:52 am, Chris christopher.ma...@gmail.com wrote: If you have a function that needs to treat multiple arguments as a group, what forces drive you to represent this as a single sequence argument vs. an argument?  To give a concrete example, why does + work like (+ 1 2 3 4)

Function Design: sequence or argument?

2010-11-15 Thread Chris
If you have a function that needs to treat multiple arguments as a group, what forces drive you to represent this as a single sequence argument vs. an argument? To give a concrete example, why does + work like (+ 1 2 3 4) instead of (+ [1 2 3 4]) Is it performance? Aesthetics?

Re: Function Design: sequence or argument?

2010-11-15 Thread Ken Wesson
On Mon, Nov 15, 2010 at 11:52 AM, Chris christopher.ma...@gmail.com wrote: If you have a function that needs to treat multiple arguments as a group, what forces drive you to represent this as a single sequence argument vs. an argument?  To give a concrete example, why does + work like (+ 1

Re: Function Design: sequence or argument?

2010-11-15 Thread Meikel Brandmeyer
Hi, Am 15.11.2010 um 17:52 schrieb Chris: If you have a function that needs to treat multiple arguments as a group, what forces drive you to represent this as a single sequence argument vs. an argument? To give a concrete example, why does + work like (+ 1 2 3 4) instead of (+ [1

Re: Function Design: sequence or argument?

2010-11-15 Thread Alyssa Kwan
Performance is part of it too. Allowing dispatch on arity leads to faster code. Many of the functions that operate on sequences are lazy so dispatch on arity doesn't apply. On Nov 15, 11:52 am, Chris christopher.ma...@gmail.com wrote: If you have a function that needs to treat multiple