Skip to content
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

project status #38

Closed
tpapp opened this issue Jun 8, 2022 · 5 comments
Closed

project status #38

tpapp opened this issue Jun 8, 2022 · 5 comments

Comments

@tpapp
Copy link

tpapp commented Jun 8, 2022

We have been considering using tree-sitter for julia-mode (Emacs), see discussion at JuliaEditorSupport/julia-emacs#174.

Experimenting with tree-sitter-julia, it is my impression that it is fast and robust. However, before we explore this, I wanted to ask maintainers for feedback: is the implementation still WIP, or is it intended for production?

In particular, our current regexp-based solutions also have quite a few bugs and corner cases (as expected), so we can live with a few of those, and also expect to contribute fixes if we can. If PRs get reviewed and merged in a timely manner, that would be perfectly fine for our purposes.

@clason
Copy link

clason commented Jun 8, 2022

As another data point, we have been using this parser for Neovim for a while without many issues (https://github.com/nvim-treesitter/nvim-treesitter/tree/master/queries/julia). Although there was a bit of a lull here for a while, the activity has picked up in recent weeks, so I would consider this repo maintained.

That being said, if more maintainers are needed, we'd be willing to help out!

@savq
Copy link
Collaborator

savq commented Jun 10, 2022

I made the most recent PRs to the repo, so I'd like to give my opinion:

I mostly agree with the comments on the linked emacs thread. Using tree-sitter seems simpler than using CSTParser.

I'd say the repo is maintained. As far as I know, @maxbrunsfeld is the only one with commit rights, and he's not actively commiting to the repo, but he's taken the time to review the PRs I've sent. Personally, I'd like to keep contributing here. I've learnt a lot about parsing and metaprogramming while learning Julia.

The grammar is ok. Most of the rules are what you'd expect. The femtolisp parser is dense, and translating it in a sensible way often leaves many edge-cases. There are some constructs that are still not parsed correctly that can cause "white-outs" (e.g. mime types). I'd advise against small fixes. If there's a small parsing error, it's better to do TDD and try to nail all issues related to one construct in one go.

@VarLad
Copy link
Contributor

VarLad commented Jun 14, 2022

Are there any incentives to update the deps to 0.20?

@ChrHorn
Copy link
Contributor

ChrHorn commented Oct 30, 2022

@maxbrunsfeld have you thought about adding another maintainer to this repo? The Julia parser has a lot of issues. Most fixes should be trivial, but in its current state it takes a very long time to get things merged.

I would propose @savq, who did all the recent large PR's.

@savq
Copy link
Collaborator

savq commented Dec 26, 2022

I'm closing this issue, since the grammar is now mostly done.

There's very few parsing errors remaning. I'll try to open more specific and organized issues for those.

There's also some work to be done to improve performance and compile times. Adding emojis and juxtapositions really inflated the size of the generated parser 💩

@savq savq closed this as completed Dec 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants