nanopass-framework-scheme
The new nanopass framework; an embedded DSL for writing compilers in Scheme (by nanopass)
flatparse
Fast parsing from bytestrings (by AndrasKovacs)
nanopass-framework-scheme | flatparse | |
---|---|---|
7 | 2 | |
474 | 142 | |
0.0% | - | |
0.0 | 7.0 | |
over 1 year ago | about 2 months ago | |
Scheme | Haskell | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
nanopass-framework-scheme
Posts with mentions or reviews of nanopass-framework-scheme.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-08.
- An ARM Assembler Written in Lisp
-
Best languages to design a new language in?
Well, this compiler framework in scheme might be worth looking.
- Any good source-to-source compiler guides?
-
Is there any research or articles on different, more efficient compiler designs?
Some serious level Conway's Law. I mean multipass isn't bad. It composes well, it minimizes coupling, etc etc. It doesn't necessarily have to hit disk, any store could be used. I myself like multipass taken to an extreme in nanopass, but at the same time, I absolutely adore the single pass nature of Wirthian languages.
-
How do i load an r6rs library in guile?
I am trying to use the nanopass framework with guile. I do not get that far :D I can't seem to figure out how guile's %load-path works.
-
Is Rust a good option to write a compiler?
I'd say Rust is the absolute best (by a considerable margin) for a production-ready implementation. For a compiler's course it should be a fine choice, but I'd also look at OCaml+Menhir or Scheme+nanopass as alternatives.
flatparse
Posts with mentions or reviews of flatparse.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-09-19.
-
Best languages to design a new language in?
Initially Happy/Alex was almost 5x slower than the fastest implementation. Using an explicit export list and generating the parser with the experimental --strict flag from happy brought it down to a manageable 3.2x slowdown. The fastest parser was surprisingly not my handwritten example, but the one written using the parser combinator library flatparse.
-
Has anyone done a naive benchmark of parsing approaches?
Flatparse has some microbenchmarks showing 60x speed difference compared to Parsec, and 10x-20x compared to Attoparsec or Megaparsec.
What are some alternatives?
When comparing nanopass-framework-scheme and flatparse you can also consider the following projects:
r7expander - R7RS expander
haskell-parsing-benchmarks
blockly - The web-based visual programming editor.
guile-json - JSON module for Guile
r6rs-pffi - Portable Foreign Function Interface (FFI) for R6RS
nanopass-framework-racket - nanopass compiler framework for Racket
salsa - A generic framework for on-demand, incrementalized computation. Inspired by adapton, glimmer, and rustc's query system.
IU-Fall-2021 - Course web page for Fall 2021.
gcc - Docker Official Image packaging for gcc
chez-docs - Access Chez Scheme documentation from the REPL
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
purescript - A strongly-typed language that compiles to JavaScript
nanopass-framework-scheme vs r7expander
flatparse vs haskell-parsing-benchmarks
nanopass-framework-scheme vs blockly
nanopass-framework-scheme vs guile-json
nanopass-framework-scheme vs r6rs-pffi
nanopass-framework-scheme vs nanopass-framework-racket
nanopass-framework-scheme vs salsa
nanopass-framework-scheme vs IU-Fall-2021
nanopass-framework-scheme vs gcc
nanopass-framework-scheme vs chez-docs
nanopass-framework-scheme vs TypeScript
nanopass-framework-scheme vs purescript