Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sdleffler/tarpit-rs

A type-level implementation of Smallfuck in Rust, doubling as a Turing-completeness proof for Rust's type system.
https://github.com/sdleffler/tarpit-rs

rust rust-language turing-completeness turing-tarpit type-system types

Last synced: about 2 months ago
JSON representation

A type-level implementation of Smallfuck in Rust, doubling as a Turing-completeness proof for Rust's type system.

Awesome Lists containing this project

README

        

# tarpit-rs: Smallfuck implemented in Rust's type system

I wrote a blog post on this! You can find it
[here](https://sdleffler.github.io/RustTypeSystemTuringComplete/).

This is a proof of the Turing-completeness of Rust's type system; it's an
implementation of [Smallfuck](https://esolangs.org/wiki/Smallfuck), a known
Turing complete language. Since Rust's type system may have a Turing-complete
language embedded in it, we know therefore it must be Turing-complete itself!
Neat.

Contained in this repository are both the type-level implementation *and* a
minimal, unoptimized runtime implementation for verifying the type-level
implementation. Additional tests can be added via the `sf_test!{}` macro, and
run using `cargo test`.