Comments (7)
@banacorn thanks for filing this issue. @maxbrunsfeld and I did some work on the external scanner and uncovered a condition that could result in non-termination. Those changes have been pushed to master, and should prevent your Atom instance from freezing. Do you mind checking out the latest master and verifying if the infinite looping is still occurring for you?
from tree-sitter-haskell.
@banacorn This is definitely on our radar, but as I'm still working on adding more Haskell language support for its multitude of language extensions, I've not prioritized getting this working in Atom yet. Thank you for your patience.
from tree-sitter-haskell.
@banacorn it's my understanding Atom currently isn't configured to use the get_column
API that tree-sitter-haskell
's external scanner depends on for parsing layout rules. This won't affect other external scanners because as of right now, tree-sitter-haskell
is the only grammar that requires the get_column
API (and is the motivation for why it was added to tree-sitter
). @maxbrunsfeld please correct me if I'm misunderstanding!
@banacorn, unfortunately there are other problems with the external scanner not parsing some layout cases correctly. At this time I would say tree-sitter-haskell
is still not stable enough to depend on for other packages and is still a WIP.
from tree-sitter-haskell.
Thank you for looking into this!
I've tried out the latest scanner but it still freezes after a few keystrokes
from tree-sitter-haskell.
I want to fix this, but I can't locate the source of the problem.
Could it be the scanner? If so, then perhaps instead of adding new stuff, should we fix the non-termination first?
Could it be tree-sitter or Atom? If so, then perhaps other packages that also rely on external scanners could face this problem, too?
from tree-sitter-haskell.
@banacorn, unfortunately there are other problems with the external scanner not parsing some layout cases correctly. At this time I would say
tree-sitter-haskell
is still not stable enough to depend on for other packages and is still a WIP.
@rewinfrey
Apart from the IntelliJ's Haskell-plugin (the grammar of which is kind of a 'monster' I can imagine) and maybe some internal Yi-Editor parsing-code, tree-sitter-haskell is to my knowledge the only available incremental Haskell parser available. It would be a very sad situation, if this has to stop with unresolvable issues
I am curious about the status of tree-sitter-haskell... are these issues resolvable in your opinion ?
from tree-sitter-haskell.
this applied to the version from before the rewrite, cannot reproduce it now.
from tree-sitter-haskell.
Related Issues (20)
- Comment parsing consumes blank lines before HOT 1
- Help with creating a new parser! HOT 7
- Published most recent version to npm HOT 10
- How do I build this outside of nvim-tree-sitter? HOT 16
- WASM build fails with error HOT 6
- Native and WASM parsers behave differently HOT 11
- How do I generate a valid WASM file HOT 9
- Grammar defines trailing whitespace as part of lambda case statement HOT 4
- Parse errors when using DerivingVia HOT 4
- infixr and infixl not respected HOT 4
- Crashing (possibly while editing markdown) HOT 7
- Comments following function included in function pattern HOT 6
- Update to latest tree-sitter version
- Outermost function when using $ operator isn't parsed as a function HOT 8
- Instance with associated type, following TH top level splice, misparsed as function HOT 2
- Misparse of explicit-braced code
- UnicodeSyntax support HOT 10
- "undefined symbol: tree_sitter_haskell_external_scanner_create" when running "tree-sitter test" HOT 7
- Support `OverloadedRecordDot` HOT 8
- I added three more symbols for built-in syntax.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tree-sitter-haskell.