-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is cstree up-to-date with rowan? #69
Comments
Hey @elenakrittik!
I've also been working on more future stuff in the background, but that has been progressing very slowly for having limited time reasons (the most recent commit on that branch had its 2nd birthday recently 💀 ). Do you have a link to your tool so I could get an idea what it looks like? Are you doing something similar to |
Regarding your other question, I'm not sure I can answer that because it's going to depend heavily on both the project and which kinds of libraries you've already worked with. I'd guess that It might be a good starting point to think about whether your project wants to use an interner (that is compatible with |
I'm doing it using ungrammar, yep! (Though i suspect i'll eventually fork it because there are just too many things that make working with it a huge pain (but less pain than a custom format and/or implementation).) The AST crate is defined here, and the generator (invoked via a |
My (our, we're a team, but i led the work on transitioning from the traditional tree ASTs to untyped CSTs) project is a language toolchain, so interning and parallelization is certainly some of the things that we will use. I think i'll try to diff cstree and rowan and then give an up-to-date report on the differences between the two, which optimizations or features are present in one but not another, etc. |
Looks like your doing most of the calls that actually go into
If you do, that would be very much appreciated! Could probably use to update the README with your findings ☺ |
According to crates.io, cstree has branched off from rowan "almost 4 years ago" and ever since then, both projects have regularly published new versions. I have already implemented an AST generator targeting rowan and on the surface, cstree seems to retain the overall API, and since having more optimizations won't hurt i am considering switching to cstree. Are there any notable differences besides those listed in the README that arose because of the projects' long history, and, while i suspect the answer is cstree (why would you create and maintain this otherwise), would you recommend rowan or cstree for new projects?
The text was updated successfully, but these errors were encountered: