All the Rust, just with less syntax
Go to file
2024-09-18 19:11:03 -07:00
.gitignore Initial commit 2024-08-21 15:41:14 +00:00
LICENSE Initial commit 2024-08-21 15:41:14 +00:00
README.md doc: Initial README with project goals 2024-09-18 19:11:03 -07:00

husht

All the Rust, just with less syntax

You can think of husht as a preprocessor for Rust, or as a indentation-significant "quiet syntax" language that compiles to Rust. In any case, the idea is that .hsh files will transform 1-1 into .rs files, and that all Rust language features will be available in a straightforward way in husht. Along the way, we will likely add some additional syntactic sugar in husht to easy some of the more common language patterns in Rust. In particular, we plan to add more familiar syntax for closures.

One less common feature of husht is that we will maintain its ability to perform "disassembly" of Rust into recommended husht abbreviated form. Thus, one can test husht by performing round trips, and in particular, Rust -> husht -> Rust should have essentially the same behavior as prettyprinting the original Rust code with rustfmt.

The base source code of husht is written in husht, but for (relatively clear) bootstrapping purposes, it ships with the transformed Rust, and one key end-to-end test is that the shipped husht code for husht indeed transforms into the Rust code.

Documentation of specific syntax features of husht will be added as they are implemented.