Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
maxbrunsfeld
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
maxbrunsfeld
4y ago
I think that the paragraph that you quoted was in reference to Xi's decision to use CRDTs (and asynchronous communication) for exchanging data between different plugins running in the same instance of Xi. It isn't a comment abou
32.
▲
by
maxbrunsfeld
5y ago
This is an amazing summary. Thank you.
33.
▲
by
maxbrunsfeld
6y ago
It generates LR(1) parsers, and can use GLR on an opt-in basis, for handling specific conflicts.
34.
▲
by
maxbrunsfeld
6y ago
One more that I know of: Atom understands your code better than ever before - https://news.ycombinator.com/item?id=18349013 - Oct 2018
35.
▲
by
maxbrunsfeld
6y ago
Not that I know of, right now :(. In the near future, we'll create some more GitHub-specific documentation that walks you through how to add advanced language support for any programming language on GitHub, by writing a Tree-sitter gra
36.
▲
by
maxbrunsfeld
6y ago
At GitHub, we're in the process of building a more precise code navigation system on top of Tree-sitter, that models language-specific name-resolution rules in detail. Our currently-available code navigation system also uses Tree-sitte
37.
▲
by
maxbrunsfeld
6y ago
Most tree-sitter grammars just parse comments as a single token. Can you give an example of what you mean when you say "contents of the comment parsed out"? Are you talking about conventions like JSDoc, for putting structured data
38.
▲
by
maxbrunsfeld
6y ago
I think that it'd be pretty easy to generate parser code in other languages besides C, but it would be a lot of work to do to port the core library itself[1] to those other languages. [1] https://github.com/tree-sitter&
39.
▲
by
maxbrunsfeld
6y ago
That's great to hear. Thanks!
40.
▲
by
maxbrunsfeld
6y ago
One day, I would love to generalize the web-based playground so that you could edit the grammars. But it's complicated, because we use C as our output language, so you would always need to recompile the C after changing the grammar. So
41.
▲
by
maxbrunsfeld
6y ago
Hey, Tree-sitter author here. Thanks for posting! Let me know if you have questions about the project.
42.
▲
by
maxbrunsfeld
6y ago
I think there's a lot of open-source projects that are somewhere in between the two extremes presented in the article (communities vs makers-and-fans). As a maintainer of a project with more moderate user base, it's a mix. I have
43.
▲
by
maxbrunsfeld
6y ago
I like this solution, and have thought about adding something similar as an "advanced feature" in Tree-sitter grammars. I'm interested to see how you've used it in grammars.
44.
▲
by
maxbrunsfeld
6y ago
Yeah, I agree. To really demonstrate the best possible IDE error recovery that LR/GLR can provide, pairing a robust batch error recovery strategy with Wagner's (and your and Lukas's) history-sensitive approach is probably the
45.
▲
by
maxbrunsfeld
6y ago
While Tree-sitter is heavily influenced by Wagner's thesis, our error recovery strategy actually uses a novel approach, so it is fair to question whether Wagner's would have different properties. For error recovery, Tree-sitter is
46.
▲
by
maxbrunsfeld
7y ago
> DeepSpeech v0.6 with TensorFlow Lite runs faster than real time on a single core of a Raspberry Pi 4 This is great news. I'm not very familiar with the deep learning framework ecosystem. Does anyone know what the simplest way woul
47.
▲
by
maxbrunsfeld
7y ago
Many parser generation tools use their own custom grammar language, and then generate a C parser based on that. With Tree-sitter, it’s a similar setup, except the grammars are written in JavaScript instead of some custom language. The parse
48.
▲
by
maxbrunsfeld
7y ago
The baseline memory footprint of Electron is already quite reasonable. See https://news.ycombinator.com/item?id=21347575
49.
▲
by
maxbrunsfeld
7y ago
Do you have some packages installed? If so, can you re-run with `atom --safe`? Granted, it is totally normal to have packages when using Atom, but their memory cost shouldn't be considered a penalty that you pay due to Electron. Rather
50.
▲
by
maxbrunsfeld
7y ago
It is not because of Electron. An empty Atom window containing 5 source code files consumes about 120MB of RAM. For comparison with native apps, an empty iTerm2 window uses 100MB, and so does an empty Notes.app window. The base memory footp
51.
▲
Tree-sitter syntax tree playground – incremental parsers compiled to Wasm
(tree-sitter.github.io)
1 points
by
maxbrunsfeld
7y ago
|
0 comments
52.
▲
by
maxbrunsfeld
8y ago
Yes! I'm very interested in making the Tree-sitter runtime and all of the parsers available as pre-built WASM modules. I think it should be straightforward to do.
53.
▲
by
maxbrunsfeld
8y ago
I am not super familiar with all of the variations on LL(k) parsing, but my understanding is that the reliance on multiple tokens of lookahead makes incremental parsing a bit more complex, whereas it fits very cleanly into the framework of
54.
▲
by
maxbrunsfeld
8y ago
Tree-sitter isn't really an alternative to LSP. We think of it as solving a different set of problems. LSP is probably the best way to provide the fixed set of classic IDE features that LSP does - inline diagnostics, autocomplete, go-t
55.
▲
by
maxbrunsfeld
8y ago
Hello! I worked on this feature and wrote the post. I'd love to hear any feedback or answer any questions.
56.
▲
Atom 1.32 – new parsing system and reduced memory usage
(blog.atom.io)
7 points
by
maxbrunsfeld
8y ago
|
0 comments
57.
▲
by
maxbrunsfeld
8y ago
> GPUArrays never had to implement automatic differentiation explicitly to support the backward pass of the neuronal network efficiently. This is because Julia's automatic differentiation libraries work for arbitrary functions and e
58.
▲
by
maxbrunsfeld
8y ago
The Externals API is designed to only let you do things that are compatible with incremental parsing. It’s good for things like indentation based delimiters and automatic semicolon insertion. You cannot call back into the parser; it’s just
59.
▲
by
maxbrunsfeld
8y ago
Thanks for the kind words! I haven't specifically pursued integration with LSP, but Tree-sitter has been used to build a couple of language servers which work with both VSCode and Atom (and probably other editors): * Bash - https:
60.
▲
by
maxbrunsfeld
8y ago
Yeah, the grammar author does fully control the division between the parser and lexer: every literal (string or regex) in the grammar corresponds to a token. There's also a `token()` function that you can use to specify that an arbitra
More ›