On Sat, Feb 4, 2012 at 1:22 PM, Stuart Halloway
<[email protected]> wrote:
> Again, the same argument could be made about every other private function in 
> core, or in any other library.

I doubt it. Most of the times those functions aren't particularly
useful outside of the one place they're used.

But assert-args is something that third party developers keep wanting
to use, which suggests that it's a different situation than most
private functions.

> The use of :private communicates something: the development team that made 
> this does not want to commit to supporting it for external use.

Is assert-args difficult to support for external use? What "support"
is really needed, beyond committing to not changing its API?

> All of your stated objections would be solved by putting this utility 
> function in a contrib, as I already suggested: 
> https://github.com/clojure/tools.macro.

This works for library private functions, because the function can be
broken out into its own utilities library that the original library
can then depend on without the code ending up duplicated.

It doesn't work for core functions, though, unless you want core
depending on parts of contrib. The only alternatives with a function
in core that other people want to use are make it public or wind up
with duplication of code.

-- 
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

Reply via email to