salsa
A generic framework for on-demand, incrementalized computation. Inspired by adapton, glimmer, and rustc's query system. (by salsa-rs)
nanopass-framework-scheme
The new nanopass framework; an embedded DSL for writing compilers in Scheme (by nanopass)
salsa | nanopass-framework-scheme | |
---|---|---|
16 | 7 | |
2,012 | 474 | |
1.1% | 0.0% | |
8.0 | 0.0 | |
7 days ago | over 1 year ago | |
Rust | Scheme | |
Apache License 2.0 | 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.
salsa
Posts with mentions or reviews of salsa.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-08-04.
-
Introducing: Depends
There are some excellent crates already in the Rust ecosystem (notably Salsa) for performing incremental computation, although they generally have different goals to Depends.
-
Vercel announces Turbopack, the successor to Webpack
The content of that "Core Concepts" page sounds a lot like https://github.com/salsa-rs/salsa
-
Is there anything like funflow for rust?
I know of salsa, but I don't know if it can persist changes to disk (and my guess from looking at this issue is that it can't).
- Non-lexical lifetimes (NLL) fully stable | Rust Blog
-
The biggest new idea in computing for half a century was just scrapped
- the practical approach to this is to split workload into work units (aka tasks/queries/etc.) and then force information flow through centralized "request"/"query" APIs that automatically track dependencies - see https://github.com/salsa-rs/salsa for more information
-
Is there any research or articles on different, more efficient compiler designs?
This, and as pointed Salsa.
-
Trying to understand the paper "Efficient and Flexible Incremental Parsing" (incremental LR)
These guys might be of interest for you, they think a lot about incremental parsers. https://github.com/salsa-rs/salsa
-
Announcing avalanche 0.1, a React- and Svelte-inspired GUI library
salsa-rs authored by niko matsakis and other top rust devs
-
Is GO a good option to write a compiler/interpreter?
Some optimizations are not easy with Go. For example caching like in Rust Analyser Salsa Framework
-
Will rust ever have a futures executor in std?
How would this differ from salsa (https://github.com/salsa-rs/salsa) and the query-driven approach used by rustc?
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.
What are some alternatives?
When comparing salsa and nanopass-framework-scheme you can also consider the following projects:
Benthos - Fancy stream processing made operationally mundane
r7expander - R7RS expander
Disruptor - High Performance Inter-Thread Messaging Library
blockly - The web-based visual programming editor.
papers-we-love - Papers from the computer science community to read and discuss.
guile-json - JSON module for Guile
differential-dataflow - An implementation of differential dataflow using timely dataflow on Rust.
r6rs-pffi - Portable Foreign Function Interface (FFI) for R6RS
rust-signals - Zero-cost functional reactive Signals for Rust
nanopass-framework-racket - nanopass compiler framework for Racket
ocaml-multicore - Multicore OCaml
IU-Fall-2021 - Course web page for Fall 2021.
salsa vs Benthos
nanopass-framework-scheme vs r7expander
salsa vs Disruptor
nanopass-framework-scheme vs blockly
salsa vs papers-we-love
nanopass-framework-scheme vs guile-json
salsa vs differential-dataflow
nanopass-framework-scheme vs r6rs-pffi
salsa vs rust-signals
nanopass-framework-scheme vs nanopass-framework-racket
salsa vs ocaml-multicore
nanopass-framework-scheme vs IU-Fall-2021