Chumsky, a Rust parser-combinator library with error recovery

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
  1. chumsky

    Write expressive, high-performance parsers with ease.

    Tree-sitter appears to be ultra-focused on producing valid syntax trees really fast. This is great for e.g. syntax highlighting, but suboptimal in cases where you are writing a reference parser for your custom language and want to provide very useful error descriptions. Chumsky seems to be more suited for the latter (and also has a part of tutorial about precedence[0], so it seems to deal at least with that case).

    This overview of parser tradeoffs may be helpful: https://blog.jez.io/tree-sitter-limitations/.

    [0] https://github.com/zesterer/chumsky/blob/master/tutorial.md#...

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. percival

    📝 Web-based, reactive Datalog notebooks for data analysis and visualization

    I haven't written a parser with Chumsky, bit I've played with a little one a bit if you wanna see an example syntax. The error reporting for this project is implemented with `ariadne` which is also really slick.

    Parser: https://github.com/ekzhang/percival/blob/main/crates/perciva...

    Error reporting: https://github.com/ekzhang/percival/blob/main/crates/perciva...

    Datalog playground: https://percival.ink/

    To see an error report, delete some punctuation from one of the Datalog code blocks then press shift-return.

  4. rust

    Empowering everyone to build reliable and efficient software.

    The creator of Chumsky is also quite a big proponent of getting generic associated types stabilized in Rust [0], interestingly enough. They have several comments talking about how GATs were very helpful for Chumsky to model their combinators.

    [0] https://github.com/rust-lang/rust/pull/96709

  5. prql

    PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement

    I can vouch for adriane, the error display library that is the sister project of Chomsky.

    We integrated it into PRQL compiler and the errors are beautiful!

    https://github.com/prql/prql/pull/275

  6. nom

    Rust parser combinator framework

  7. instaparse

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Just Write a Test for It

    4 projects | news.ycombinator.com | 30 Mar 2025
  • Nom parser combinators now released in version 8, with a new architecture

    1 project | news.ycombinator.com | 31 Jan 2025
  • Nom released 8.0: A byte-oriented, zero-copy, parser combinators Rust library

    1 project | news.ycombinator.com | 27 Jan 2025
  • Rust: Packages, Modules, Crates...Oh My!

    2 projects | dev.to | 7 Jan 2025
  • Challenge accepted: announcing SurrealDB 2.0

    2 projects | dev.to | 17 Sep 2024