• Stars
    star
    211
  • Rank 186,867 (Top 4 %)
  • Language
    Rust
  • Created over 7 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

I wrote a blog post on this! You can find it here.

This is a proof of the Turing-completeness of Rust's type system; it's an implementation of 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.

More Repositories

1

collapse

A reimplementation/(pending) improvement on the wavefunction collapse texture synthesis algorithm.
Rust
124
star
2

qp-trie-rs

An idiomatic and fast QP-trie implementation in pure Rust.
Rust
85
star
3

type-operators-rs

A macro for defining type operators in Rust.
Rust
61
star
4

whisper

Logic programming, for Rust, from inside Rust.
Rust
35
star
5

hv-dev

Slow down, upon the teeth of Orange: Heavy is an opinionated, efficient, relatively lightweight, and tightly Lua-integrated game framework for Rust.
Rust
14
star
6

thunk-rs

Generic lazy evaluation for Rust.
Rust
7
star
7

type-level-logic-rs

Bits and bytes of type-level operations, implemented using the type-operators crate.
Rust
7
star
8

empty-box-rs

A Rust type for safely moving values in and out of boxes without unnecessary new allocations.
Rust
6
star
9

sludge

ECS/Lua integration plus other opinionated goodies for game development in Rust with batteries.
Rust
5
star
10

colosseum-rs

A variety of arena allocators for Rust.
Rust
5
star
11

rad-rs

Safe, high-level RADOS bindings using the ceph-rust bindings.
Rust
5
star
12

behemoth

A horrible, demonic experiment in Rust macro abuse.
Rust
3
star
13

heavy

Slow down, upon the teeth of Orange.
Rust
2
star
14

carthage-rs

RDF graph parsing and manipulation in Rust.
Rust
2
star
15

whisper_std

Whisper lang standard library.
Rust
2
star
16

droptune

A collection of Lua libraries for jump-starting a LΓ–VE project.
Lua
1
star
17

macro-abuse

A few examples of Rust macro abuse which I found particularly fun.
Rust
1
star
18

soft-edge

Efficient bithackery for making 3D collision meshes out of grids and stacked tile maps
Rust
1
star
19

calculi

Lambda calculus playground.
Rust
1
star
20

leviathan

Behemoth 2.0: Peano Boogaloo
Rust
1
star
21

tll-array-rs

Arrays with type-encoded lengths.
Rust
1
star
22

tll-iterator-rs

Statically-sized iterators for Rust.
Rust
1
star