Hacker News new | past | comments | ask | show | jobs | submit login

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




Funny 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...

[datafrog]: https://github.com/rust-lang/datafrog


> 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

[2] https://rustc-dev-guide.rust-lang.org/query.html

[3] https://learn.microsoft.com/en-gb/shows/seth-juarez/anders-h...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: