I like the idea.
> 1) ^{:deprecated "1.2"} would indicate that the namespace/var was
> deprecated in release 1.2.
One question is whether the content ought to be formatted in some
specific way. For example, free text could allowed, such as:
^{:deprecated "Use (foo/bar) instead. To be removed in release 1.3"}
I generally like this, though it makes it harder for tool to interpret.
> 2) ^{:added "1.2"} would indicate that the namespace/var was added in
> release 1.2. (This type of annotation is throughout the python doc and
> is useful when you're trying to write programs that are backwards
> compatible or when you're just trying to scan changes).
Coming from a Java background, I am used to @since. So I would lean
towards :since rather than :added. However, the name is not really
important.
> I think we should:
>
> 1) Implement the deprecation tag immediately (especially for all the
> contrib compatibility stuff like duck-streams) as part of the 1.2
> release. We may also want to update the doc function to show the value
> of this flag.
>
> 2) Add the :added tag to all functions in clojure itself after the 1.2
> release (I'll volunteer to do the first, catch-up pass for this).
>
> In addition to allowing me to generate friendly, consistent
> documentation, these will also be useful for IDEs, program checkers,
> etc.
>
> Does this sound like the right approach to folks?
I think these ideas are good. The key thing is to find the right
balance amongst various factors, such as:
1. Making it easy enough that developers will use the metadata.
2. Making it easy enough for users to read and understand the metadata.
3. Making the metadata easy to parse by tools.
I think the first two are more important than the last.
Sincerely,
Daniel Solano Gómez
In Clojure:
Write a short script that knows about all the namespaces (can use find-ns stuff in contrib or hard-code it) and creates a map of ns -> all known symbols in that ns
To unsubscribe from this group, send email to clojure-dev...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/clojure-dev?hl=en.
--
You received this message because you are subscribed to the Google Groups "Clojure Dev" group.
To post to this group, send email to cloju...@googlegroups.com.
To unsubscribe from this group, send email to clojure-dev...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/clojure-dev?hl=en.