Hi, Colin.
I don't use 'partial' that much either, since anonymous functions are so
easy to create. A fn also has the advantage (to my mind) of making it
clear what arity the old and new fns have. 'Partial' turns a multi-arity
fn into another multi-arity fn, which I personally think is very hard to
translate when reading code, even if you're familiar with the original fn.
I don't have any parameter order rules, either. I just use the argument
order of whichever clojure.core fn reminds me most of the fn I'm writing
("This is like a reduction, I'll put the collection at the end; This adds
an element, I'll put the collection at the beginning.").
--Leif
On Wednesday, April 30, 2014 11:22:55 PM UTC-4, Colin Fleming wrote:
>
> Hi everyone,
>
> After the very interesting keyword argument debate, I have another
> question about API design. Specifically I'm interested in suggestions about
> parameter order. The new API guidelines, which have changed very recently
> to favour maps over keyword args, also changed to include a suggestion that
> the keyword map be the first argument, since it's the "least variance"
> argument.
>
> I've been using some fairly simple rules to order my parameters, basically
> 1) functions that operate on collections should have the collection last to
> interoperate with ->>, and 2) functions operating on a "main" object should
> accept that first, to interoperate with ->. #2 is generally pretty
> intuitive since it's the same as Java interop and protocol calls, but
> there's still a fair amount of ambiguity with just these rules unless all
> your functions have one or two arguments.
>
> I'm interested in opinions about the "variance" ordering, since I assume
> this is to facilitate use of partial and the like. I never really use
> partial myself so I don't have a good feeling for how this ordering should
> work - any comments or opinions?
>
> Thanks,
> Colin
>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
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
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.