It depends on the relationship between args. If the second arg narrows the semantic of the first and so on, 4th arity fns may not be hard at all. Otherwise it may confuse the reader.
> Any time I'm tempted to adda 3rd arity to a function I strongly consider > using keyword args. > > On Sun, Dec 16, 2012 at 3:39 PM, Softaddicts > <lprefonta...@softaddicts.ca>wrote: > > > I would say that above 4 args, it starts to exercise your memory except if > > you > > have auto-completion and a tool tip provided by your IDE. > > > > Optional arguments are better handled with keywords than with an option > > map or > > multiple signatures. > > This the area were you can get lost. At least with keyword de structuring > > you get > > an error if you misspelled one and the names might ease up the memory > > stress if they are chosen properly. > > > > Luc > > > > > I think one of the main reasons we don't use keyword arguments > > > everywhere is their verbosity. Most function names implicate the order > > > of arguments, and many functions don't take more than two or three. > > > It's a trade-off between how much a programmer has to remember and how > > > much he has to code. > > > > > > > > > > > > On Sun, Dec 16, 2012 at 11:34 PM, Michael Hanson > > > <michael.b.han...@gmail.com> wrote: > > > > I remember in Rich Hickey's talk "Simplicity Matters", he mentioned > > that > > > > forcing the user to remember the order of function arguments, as > > opposed to > > > > using keyword arguments, is overly-complex; yet, reading Clojure > > source code > > > > and looking at the standard functions, I find that keyword arguments > > are > > > > never used. Why is that? Am I missing something or an explanation > > somewhere? > > > > > > > > -- > > > > 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 > > > > Note that posts from new members are moderated - please be patient > > with your > > > > first post. > > > > To unsubscribe from this group, send email to > > > > clojure+unsubscr...@googlegroups.com > > > > For more options, visit this group at > > > > http://groups.google.com/group/clojure?hl=en > > > > > > -- > > > 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 > > > Note that posts from new members are moderated - please be patient with > > your first post. > > > To unsubscribe from this group, send email to > > > clojure+unsubscr...@googlegroups.com > > > For more options, visit this group at > > > http://groups.google.com/group/clojure?hl=en > > > > > -- > > Softaddicts<lprefonta...@softaddicts.ca> sent by ibisMail from my ipad! > > > > -- > > 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 > > Note that posts from new members are moderated - please be patient with > > your first post. > > To unsubscribe from this group, send email to > > clojure+unsubscr...@googlegroups.com > > For more options, visit this group at > > http://groups.google.com/group/clojure?hl=en > > > > -- > 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 > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- Softaddicts<lprefonta...@softaddicts.ca> sent by ibisMail from my ipad! -- 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 Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en