Rust logic-programming

Open-source Rust projects categorized as logic-programming

Top 6 Rust logic-programming Projects

  • oso

    Oso is a batteries-included framework for building authorization in your application.

    Project mention: Show HN: ILLA is an Open-source alternative to Retool | | 2022-11-19

    Not OP but Authentication is easy, authorization is a cross-cutting concern that often requires custom code. E.g., there are people and teams, both of which can have different kinds of access to something (read/write). Sometimes teams have sub-teams. Do the sub-teams have access to the parent teams' resources and/or vice versa? Also what kind of sharing are you going to support? Do people have to have an account to view stuff shared to them or can you just send a link? There are some efforts to make custom DSLs for describing authorization policies, to avoid cross-cutting code[1].

    Computed fields require different treatment at every level of the stack. This isn't inherently hard, but it is an extra feature these low-code/no-code platforms need. Where things get difficult is inn migrations. It's common for a field that is computed at the beginning to become customizable, or for the computation to change. When that happens, what should the value be for old columns? Computed fields also often pull data from multiple other tables, which may require some combination of custom queries and database optimization.


  • percival

    📝 Web-based, reactive Datalog notebooks for data analysis and visualization

    Project mention: Soufflé: A Datalog Synthesis Tool for Static Analysis | | 2022-11-30

    I've worked on percival a bit, it compiles (transpiles?) the datalog ast into javascript code on demand and executes it to get the results, see [1]. Percival's creator, Eric, also submitted a 10m presentation about the project [2] to the HYTRADBOI 'virtual conference' earlier this year [2]. They also submitted a Show HN that received a couple comments [3]. The Have You Tried Rubbing A Database On It conference included several awesome presentations featuring datalog, which readers may find interesting [4].





  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • crepe

    Datalog compiler embedded in Rust as a procedural macro

    Project mention: Ergonomic inline SQL as a Python library | | 2022-10-08

    Inspired by past work: LINQ, inline-python, crepe, DataScript, Riffle.

  • ascent

    logic programming in Rust (by s-arash)

    Project mention: Datafrog: A lightweight Datalog engine in Rust | | 2022-11-13

    I think people should look at Ascent [1]. I love the way it embeds Rust seamlessly. It's like JSX for Datalog/Rust.


  • ukanren-rs

    Rust implementation of µKanren, a featherweight relational programming language.

  • conlog

    A simple prolog interpreter written in Rust

    Project mention: Ideas for Intermediate or Advanced Rust Projets? | | 2021-12-27

    For some code examples, you could check out which is a rather simple prolog interpreter I made. The file has the representation of code and values in memory, and has the lexer and parser which uses an iterator to consume the input data. It's also possible to parse string data immutably using string slices and a combinators style parser.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-11-30.

Rust logic-programming related posts


What are some of the best open-source logic-programming projects in Rust? This list will help you:

Project Stars
1 oso 2,791
2 percival 475
3 crepe 304
4 ascent 105
5 ukanren-rs 98
6 conlog 2
Close all those tabs. Zigi will handle your updates.
Zigi monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack! Plus it reduces cycle time by up to 75%.