3 ms·
This seems like it would rock for building Language Server Protocol implementations or other similar things. There's a tool in Rust called Salsa that's tailore
by gavinray 4y ago
This seems like it would rock for building Language Server Protocol implementations or other similar things.
There's a tool in Rust called Salsa that's tailored for this, but it's galaxy-brained (I watched an hourlong introduction video and could still barely grasp it).
https://github.com/salsa-rs/salsa https://github.com/salsa-rs/salsa
- jitl 4y agoFunny you say that, the Rust borrow checker tried to adopt differential-dataflow directly - the library behind this language - but Frank McSherry told them it's too complicated, let me build you an easier-to-use Datalog instead [blog]. So he built [datafrog] which is at the heart of the borrow checker today. I'm not sure what the delta between Salsa and differential-dataflow is. My experience with differential-dataflow is that it's also galaxy brain. [blog]: https://github.com/frankmcsherry/blog/blob/master/posts/2018-05-19.md#acks https://github.com/frankmcsherry/blog/blob/master/posts/2018... [datafrog]: https://github.com/rust-lang/datafrog https://github.com/rust-lang/datafrog
- nbaksalyar 4y ago> I watched an hourlong introduction video and could still barely grasp it I can relate to that. What helped me to understand it though is looking through some projects using Salsa [1] and reading the document about how the Rust compiler uses queries [2]. You might also want to watch the discussion video with Anders Hejlsberg [3] that gives an overview of the problems that Adapton/Salsa try to solve. [1] https://crates.io/crates/salsa/reverse_dependencies https://crates.io/crates/salsa/reverse_dependencies [2] https://rustc-dev-guide.rust-lang.org/query.html https://rustc-dev-guide.rust-lang.org/query.html [3] https://learn.microsoft.com/en-gb/shows/seth-juarez/anders-hejlsberg-on-modern-compiler-construction https://learn.microsoft.com/en-gb/shows/seth-juarez/anders-h...