







A modern Prolog implementation written mostly in Rust.
Unifying fold left and fold right with Prolog
Here's a rather cool trick we noticed during a recent discussion in the NUS PLSE Lab.1
The Rust Programming Language - The Rust Programming Language
by Steve Klabnik, Carol Nichols, and Chris Krycho, with contributions from the Rust Community
Datalog
Datalog is a declarative logic programming language. While it is syntactically a subset of Prolog, Datalog generally uses a bottom-up rather than top-down evaluation model. This difference yields significantly different behavior and properties from Prolog. It is often used as a query language for deductive databases. Datalog has been applied to problems in data integration, networking, program analysis, and more.
Tree Borrows | Proceedings of the ACM on Programming Languages
The Rust programming language is well known for its ownership-based type system, which offers strong guarantees like memory safety and data race freedom. However, Rust also provides unsafe escape hatches, for which safety is not guaranteed automatically ...

FlowLog - Efficient and Extensible Datalog | FlowLog
FlowLog: Efficient and Extensible Datalog via Incrementality
xymostech/XymosTeX
A re-implementation of TeX in Rust to help me understand how it works and to eventually provide a debugging interface
How Our Rust-to-Zig Rewrite is Going
For the past year and a half, the team building Roc's compiler has been rewriting our 300,000 lines of Rust code into Zig, for reasons I'll recap below. We recently passed an exciting milestone: feature parity with the original compiler!
Rust and the Three Laws of Informatics
Rust and the Three Laws of Informatics After 10 years in the Java world, I have recently been looking at Rust more seriously. I am barely beginning Rust programming, yet I feel enthusiastic: I …

Rust for Java developers
Introduction to the Rust programming language for java developers, (complete with code sampes) with a focus on shared concepts.

Learning Rust
Learning Rust - Rust Programming Language Tutorials for Everyone!

Rust Error Handling: thiserror, anyhow, and When to Use Each
In this blog post, we’ll explore strategies for streamlining error handling in Rust using two popular libraries: thiserror and anyhow. We’ll discuss their features, use cases, and provide insights on when to choose each library. TL;DR thiserror simplifies the implementation of custom error type, removing boilerplates anyhow consolidates errors that implement std::error::Error While thiserror provides detailed error information for specific reactions, anyhow hides internal details Return Different Error Types from Function Let’s start by creating a function decode() for illustration. The function has 3 steps: