logoalt Hacker News

knuckleheads • today at 8:50 AM • 0 replies • view on HN

Ur is an (very in-progress) universal formatter and linter for every programming language. It's in preview right now, which just means friends are messing around with it and having a good time pointing out all the bugs. Docs are mostly up to date, but buyer beware. Implementation wise, it's the Rascal meta language reimagined in Rust with some features from JastAdd thrown in there for good measure. Ur is incremental/persistent between runs, it's built on top of Mambo, a library that drops in as a replacement for Salsa and persists all queries to disk automatically.

https://ur.dev/en/

Ur has some pretty good static analysis and code rewriting tools hidden inside of it that'll get documented later on. These tools have been developed in tandem with a static mass rewrite of some core parts of the Rust compiler. It's very much not done, but it's made pretty good progress towards putting all crates in one process, dropping memory after a crate is done compiling, and full incremental support across all commands. Here is a literate program that explains why, how and which changes are being made (I haven't read all of it myself yet, lots still changing). Aiming to have this out by end of the month.

https://breakneck.powderworks.dev/