Note that while Polonius is officially developed by the Rust project, it's still experimental. The goal is to someday ship it as part of rustc, but it still needs work.
Borrow checking is a good fit for datalog. And trait resolution is Prolog, though Rusty's backtracking makes it a worse fit for datalog than typeclasses in Haskell.
Would you want to use a Prolog/Datalog for things like authorizing users in a RBAC system? I give the engine a bunch of rules and properties of things, and the engine figures out whether or not the user is authorized to perform some specific action.
You ever run into a situation with SQL where you're trying to do something that's sorta tree shaped, and it makes the code awkward even if you use say vendor extensions for recursive queries? Datalog excels at those sort of problems.
15 comments
[ 3.4 ms ] story [ 61.5 ms ] threadIs its present membership in rust-lang rather than rust-lang-nursery a mistake?
(I find its membership even in rust-lang-nursery mildly surprising; in rust-lang, perplexing.)
/s
[1]: https://github.com/s-arash/ascent