The purpose of this issue is to announce potential changes to tree-sitter-clojure to any interested parties [1]. Our intent is to do this by adding a comment to this issue for each such change (or set of changes).
The hope is that we might learn sooner about unanticipated consequences of such changes to prevent and/or mitigate unintended breakage. We don't know in detail how the grammar is being used, but we figured that interested parties might be able to tell us...if only they knew ahead of time :)
We would prefer not to cause breakage, but for various reasons [2], changes to the grammar may still occur. Due partly to tree-sitter's design (and choices various tree-sitter-using programs have made), when changes are made to the grammar, they are more likely to be of the breaking type than for an ordinary library. See here for more details on this topic.
Discussion of potential changes should take place in an issue so that this announcement issue can remain easy to parse and browse [3].
Note that this issue will be pinned and locked in support of the points above.
[1] Some specific types of "interested parties" we had in mind include:
Developers and maintainers of projects that directly
or indirectly depend on tree-sitter-clojure. A
concrete example is janet-tree-sitter which uses
the grammar in testing.
End users of such projects. A less abstract example
might be a user who is aware they are employing
tree-sitter-clojure-enabled functions in an editor.
[2] Some factors that conspire against us avoiding breakage:
There may be unanticipated important use cases we
want to account for.
Tree-sitter is pre-1.0 and has some rough edges. Our
belief is that the maintainers are well-intentioned,
capable, busy, and...lack resources. Moreover, it's
not a small or easy matter they have undertaken.
Clojure itself doesn't really have a specification that
is comparable to what exists for various other
programming languages such as C, Java, JavaScript, or
Python. This puts the task of understanding what is
"correct" and/or "comprehensive" in a different sort of
realm than for those of the aforementioned sorts of
languages.
Other unforseen things :)
[3] If familiar with mailing list communication for software projects, announcement-only mailing lists might be thought of as similar.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4