Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 4 months ago
JSON representation
A type-level implementation of Smallfuck in Rust, doubling as a Turing-completeness proof for Rust's type system.
- Host: GitHub
- URL: https://github.com/sdleffler/tarpit-rs
- Owner: sdleffler
- Created: 2017-03-08T05:26:22.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-04-03T21:03:25.000Z (almost 8 years ago)
- Last Synced: 2024-05-22T22:33:51.965Z (9 months ago)
- Topics: rust, rust-language, turing-completeness, turing-tarpit, type-system, types
- Language: Rust
- Homepage:
- Size: 8.79 KB
- Stars: 222
- Watchers: 6
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-rust-formalized-reasoning - tarpit-rs - type-level implementation of Smallfuck. Turing-completeness proof for Rust's type system. (Unclassified / Libraries)
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`.