Our great sponsors
-
Have you tried this library? https://github.com/typelevel/cats-parse
-
Only 1.2.0-M1 has been published for Scala 3 so you need to use that version: https://repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_3.0.0-M3/ (or fallback to the Scala 2 version using withDottyCompat, cf https://github.com/scala/scala3-example-project#getting-your-project-to-compile-with-dotty)
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
not sure if i’m really convinced of this, rustc being written in rust means there are a lot of great language dev abstractions that have made their way to the ecosystem. particularly for a language frontend, i would argue rust provides a fantastic experience: there are dedicated lexer generators, parsers of all sorts, including some with great error messages out of the box, several variations on rustc-style diagnostic reporting, among others. in fact, as far as frontend implementation, i would argue rust is significantly easier to get off of the ground with than haskell, which has a steep learning curve for some of the really powerful libraries most useful for working with large AST datatypes, and some frankly crusty tools as the “best in class” for lexer and parser generation. granted, parser combinators in haskell are a bit more convenient than in rust, but i think the language dev story as a whole for rust is really solid.