Garnet is an experiment in a systems programming language along the lines of Rust but more minimal. Where Rust is a C++ that doesn't suck, it'd be nice for this to be a C that doesn't suck. Currently though, it's mostly just ideas, though a functioning compiler is slowly gaining more features.


#On Motivation

A quote from Graydon, original creator of Rust, from https://github.com/graydon/rust-prehistory:

While reading this -- if you're foolish enough to try -- keep in mind that I was balanced between near-total disbelief that it would ever come to anything and miniscule hope that if I kept at experiments and fiddling long enough, maybe I could do a thing.

I had been criticizing, picking apart, ranting about other languages for years, and making doodles and marginalia notes about how to do one "right" or "differently" to myself for almost as long. This lineage representes the very gradual coaxing-into-belief that I could actually make something that runs

As such, there are long periods of nothing, lots of revisions of position, long periods of just making notes, arguing with myself, several false starts, digressions into minutiae that seem completely absurd from today's vantage point (don't get me started on how long I spent learning x86 mod r/m bytes and PE import table structures, why?) and self-important frippery.

The significant thing here is that I had to get to the point of convincing myself that there was something there before bothering to show anyone; the uptick in work in mid-to-late 2009 is when Mozilla started funding me on the clock to work on it, but it's significant that there were years and years of just puttering around in circles, the kind of snowball-rolling that's necessary to go from nothing to "well... maybe..."

I'd encourage reading it in this light: Delusional dreams very gradually coming into focus, not any sort of grand plan being executed.

#License for wiki contents


About this wiki

commit d6c541c640aac6906f11defeda2c379dc1cbe978
Author: Simon Heath <icefox@dreamquest.io>
Date:   2024-06-04T12:29:22-04:00

Merge branch 'main' of git.sr.ht:~icefox/garnet-wiki
Clone this wiki
https://git.sr.ht/~icefox/garnet-wiki (read-only)
git@git.sr.ht:~icefox/garnet-wiki (read/write)