Write Python-shaped code that compiles down to real, native Rust programs.
Learn how Rust's ownership and borrowing rules work through more explicit, readable keywords.
Run and inspect the example .sn programs bundled in the examples folder.
Study or extend a small working compiler as a way to learn how compilers are built.
| ewiger/tinys | 132ikl/game | 1lystore/pay-dcp | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Rust | Rust | Rust |
| Last pushed | — | 2020-12-30 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Install via cargo install tinys, or clone and run cargo build directly.
TinyS is an experimental programming language that looks like Python but compiles down to Rust. The idea is to keep Rust's strict guarantees around ownership, borrowing, and type safety, while writing code in a cleaner, more readable syntax closer to Python. A TinyS source file gets translated into generated Rust code, which is then compiled by the normal Rust compiler and Cargo into a native program. So TinyS is not a separate runtime or a Python interpreter, it is a layer that produces real Rust underneath. The project explicitly says it does not try to hide Rust's rules about who owns a value, who is borrowing it, or when it gets moved or cloned. Instead it gives those same rules shorter, more explicit keywords such as ref for a shared reference, mut ref for a mutable one, at for dereferencing, and move or clone to control ownership transfer. A working version 0.1.0 compiler already exists, built from an indentation aware lexer, a parser, and a Rust code generator, all driven by a command line tool called tinys. It already supports functions, structs, enums, pattern matching, traits, generics, closures, and error handling through Result and Option types. You can install it from crates.io with a single cargo install command, or run example programs bundled in the project. The project is explicit about what it is not trying to be: not a garbage collected language, not a wrapper around real Python, not a language with implicit null values, and not a replacement for Cargo or the wider Rust ecosystem. The syntax and behavior are still evolving, and the authors describe TinyS as not yet ready for production use. It is best suited for developers who already know some Rust and want to explore a friendlier syntax on top of it, or who simply want to learn how a small compiler works.
An experimental Python-like language that compiles to Rust, keeping Rust's ownership and safety rules under friendlier syntax.
Mainly Rust. The stack also includes Rust, Cargo.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.