chumsky
Svelte
Our great sponsors
chumsky | Svelte | |
---|---|---|
54 | 632 | |
3,327 | 76,553 | |
- | 1.3% | |
8.8 | 9.9 | |
3 days ago | 1 day ago | |
Rust | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
chumsky
-
Lezer: A Parsing System for CodeMirror, Inspired by Tree-Sitter
I attempted to use this but was disheartened but the fact that it doesn't statically type node names. Tree Sitter doesn't either but it has much more of an excuse given that it targets C.
https://github.com/lezer-parser/lezer/issues/8
The dev seems mildly hostile to outside involvement too, so I moved on. These days I use Chumsky which is Rust rather than Typescript, but also way more awesome, if you can deal with the often incomprehensible compilation errors at least!
https://github.com/zesterer/chumsky
-
nom > regex
there’s also chumsky: https://github.com/zesterer/chumsky
-
Writing an Equation Solver
We are using technique called parser combinator. And we are using a library chumsky to write parser combinators.
-
loxcraft: a compiler, language server, and online playground for the Lox programming language
rust-langdev has a lot of libraries for building compilers in Rust. Perhaps you could use these to make your implementation easier, and revisit it later if you want to build things from scratch. I'd suggest logos for lexing, LALRPOP / chumsky for parsing, and rust-gc for garbage collection.
-
Examples of function-based parsers in chumsky? Examples of unit tests?
The examples that come with chumsky and the chumsky tutorial and guide all define their parsers using closures.
-
Flamingo - A start: the syntax, a soon-to-be-built keyword-less lang with flavoured code blocks. Seeking help and advice please :)
Parser: https://crates.io/crates/chumsky
-
pep-508 v0.2.1 - Zero copy Python dependency parser written with chumsky
chumsky's zero-copy rewrite has reached its first alpha release, and I have migrated my pep-508 parser to it, as suggested in my last announcement.
-
winnow = toml_edit + combine + nom
On my side, nom is still advancing well and a new major version is in preparation, with some interesting work a new GAT based design inspired from the awesome work on chumsky, that promises to bring great performance with complex error types. 2023 will be fun for parser libraries!
-
Rust implementation of Python dependency parser for PEP 508
I am using chumsky because I like the API, but it doesn't support zero copy at the moment. Although efficiency is good to have, it is not my primary good. This will probably get supported once chumsky implements support for it (see upstream issue).
-
Question about lexer and parser generators in Rust
Checkout https://github.com/zesterer/chumsky or https://github.com/rust-bakery/nom
Svelte
-
How to optimise React Apps?
React has introduced measures like batching state updates, background concurrent rendering and memoization to tackle this. My opinion is that the best way to solve the problem is by improving their reactivity model. The app needs to be able to track the code that should be re-run on updating a given state variable and specifically update the UI corresponding to this update. Tools like solid.js and svelte work in this manner. It also eliminates the need for a virtual DOM and diffing.
-
Episode 24/13: Native Signals, Details on Angular/Wiz, Alan Agius on the Angular CLI
Similarly to Promises/A+, this effort focuses on aligning the JavaScript ecosystem. If this alignment is successful, then a standard could emerge, based on that experience. Several framework authors are collaborating here on a common model which could back their reactivity core. The current draft is based on design input from the authors/maintainers of Angular, Bubble, Ember, FAST, MobX, Preact, Qwik, RxJS, Solid, Starbeam, Svelte, Vue, Wiz, and more…
- Rich Harris: Svelte parses HTML all wrong
- Mario meets Pareto: multi-objective optimization of Mario Kart builds
- Svelte parses HTML all wrong
-
Svelte for Beginners: Easy Guide
Svelte is a powerful web framework that offers a fresh approach to building web applications. Its simplicity, reactivity model, and built-in features make it an excellent choice for developers looking to create efficient and maintainable applications. By following this guide, you should now have a good understanding of how to get started with Svelte and build your first components, routes, and transitions. You can read more about svelte on the official Svelte website.
-
Trying to use dotnet watch with Svelte
Use .NET features (especially dotnet watch) as a setup for a client-side Svelte application, starting from a simple C# console app.
-
Why I keep an eye on the Vue ecosystem and you should too
Volar originally was Vue3's language support tool for VScode (I don't know about other editors). By today, volar has become a language indipendent framework to create language tools. It might still be a bit early for the dev with skill issues like me to use it and build some tools, but astro and svelte already use Volar to create their language tools.
- Svelte Tenets by Rich Harris
What are some alternatives?
nom - Rust parser combinator framework
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
pest - The Elegant Parser
lit - Lit is a simple library for building fast, lightweight web components.
pom - PEG parser combinators using operator overloading without macros.
solid - A declarative, efficient, and flexible JavaScript library for building user interfaces. [Moved to: https://github.com/solidui/solid]
lalrpop - LR(1) parser generator for Rust
qwik - Instant-loading web apps, without effort
instaparse
awesome-blazor - Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.
combine - A parser combinator library for Rust
Next.js - The React Framework