polonius VS scryer-prolog

Compare polonius vs scryer-prolog and see what are their differences.

polonius

Defines the Rust borrow checker. (by rust-lang)

scryer-prolog

A modern Prolog implementation written mostly in Rust. (by mthom)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
polonius scryer-prolog
31 42
1,249 1,895
2.7% -
0.0 9.7
6 months ago 2 days ago
Rust Rust
Apache License 2.0 BSD 3-clause "New" or "Revised" 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.

polonius

Posts with mentions or reviews of polonius. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-08.
  • Why do lifetimes need to be leaky?
    6 projects | /r/rust | 8 Dec 2023
    Correctness prover which uses lifetimes (Polonius).
  • Databases are the endgame for data-oriented design
    5 projects | /r/rust | 6 Dec 2023
    And, well, polonius (Rust borrow checker magic) I believe is built on datalog-ish concepts: https://github.com/rust-lang/polonius
  • Why doesn't rust-analyzer reuse infrastructures of rustc?
    3 projects | /r/rust | 5 Apr 2023
    There is also polonius (https://github.com/rust-lang/polonius) which should replace the borrow checker but does not receive a lot of development resources.
  • Rust front-end merged in GCC trunk
    9 projects | news.ycombinator.com | 14 Dec 2022
    This is eventually going to be a feature-complete compiler, targeting a specific rustc version. I believe the plan is to use polonius [1], presumably as an "optional" feature so they can build a stage 1 without it, use that to build polonius, then build the final compiler with it included.

    [1] https://github.com/rust-lang/polonius

  • Blog post: Rust in 2023
    4 projects | /r/rust | 12 Dec 2022
    E.g. there you may just stop using current borrow-checker and switch to Polonius.
  • What are Rust’s biggest weaknesses?
    7 projects | /r/rust | 17 Nov 2022
    The borrow checker is too dumb (https://github.com/rust-lang/polonius) fixes a lot of this.
  • Datafrog: A lightweight Datalog engine in Rust
    3 projects | news.ycombinator.com | 13 Nov 2022
    It looks like an official borrow checker implementation called Polonius uses it as a dependency, so it makes sense: https://github.com/rust-lang/polonius/blob/981785c101b68ff54...
  • Differential Datalog: a programming language for incremental computation
    8 projects | news.ycombinator.com | 8 Nov 2022
    If you click around a little, you end up on a blog post with this tidbit:

    > This project got put together rather suddenly, in response to some work the Rust folks are doing[1] on their new and improved borrow checker.

    I don't think I could tell you more than "Frank wrote it to help rust folks who were previously doing work with differential-dataflow directly."

    1. https://github.com/rust-lang/polonius/pull/36#issuecomment-3...

  • Generic associated types to be stable in Rust 1.65
    3 projects | /r/programming | 28 Oct 2022
    Good news is that there's also works going on to relax the restrictions, like polonius. But it seems that it still have a long way to go before it can land in stable Rust...
  • Rust for Linux officially merged
    7 projects | /r/programming | 4 Oct 2022
    GCC-rs isn't intended for bootstrapping, it is intended to be an actual fully featured Rust compiler in the future, mrustc is a Rust compiler intended for bootstrapping though. GCC-rs is still very early targeting an older version of the reference compiler without things like a borrow checker, but that's not going to be the case forever. The GCC-rs folks have expressed interest in re-using the borrow checker library used by the reference compiler called polonius enabling them to relatively easily add borrow checking.

scryer-prolog

Posts with mentions or reviews of scryer-prolog. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-05.

What are some alternatives?

When comparing polonius and scryer-prolog you can also consider the following projects:

chalk - An implementation and definition of the Rust trait system using a PROLOG-like logic solver

swipl-devel - SWI-Prolog Main development repository

rfcs - RFCs for changes to Rust

logica - Logica is a logic programming language that compiles to SQL. It runs on Google BigQuery, PostgreSQL and SQLite.

gccrs - GCC Front-End for Rust

differential-datalog - DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not write incremental algorithms; instead they specify the desired input-output mapping in a declarative manner.

rustc_codegen_gcc - libgccjit AOT codegen for rustc

materialize - The data warehouse for operational workloads.

miri - An interpreter for Rust's mid-level intermediate representation

tau-prolog - An open source Prolog interpreter in JavaScript

rust-blog - Educational blog posts for Rust beginners

prolog - The only reasonable scripting engine for Go.