I did the same thing, shouting.h, defined the uppercase version of many types and keywords.
Had a good uncontrolled laugh during a team presentation with a colleague. It was a bit disrespectful for the poor presenter who had nothing to do with this…
Reminds me of my "BASIC" #define statements I made in college to make C look slightly more BASIC-like, I think everyone does this the moment they realize they can do this in C.
Stephen Bourne was a fan of Algol 68, and the original Bourne shell was written in "Bournegol", which is C with enough #define malarkey to make it more Algol-like:
This is a good example of where it’s important to be more up front about the role of AI in the making of a thing.
Making a language that compiles through LLVM is no small task and takes a lot of expertise. Most of the time people do it because they have a point of view and are highly technical.
Making a joke language via AI is an entirely different exercise. Not without value but not the same, especially when evaluating what it means about the author.
I made a “fully” functioning programming language that is kind of like Rebol on luajit using Claude code - and I haven’t really done much serious programming since college 20 years ago. It’s fun though.
I built a language this way using AI but with a strong technical POV, and I’ve been working on it for more than 4 months. It’s been a lot of work reading papers, testing ideas, and fitting it all together. Fortunately clause saves me from having to learn C well.
Building a package manager has been a lot more difficult than I had expected.
> This is a good example of where it’s important to be more up front about the role of AI in the making of a thing.
Maybe, but we don’t always discuss our tool stack before showing our work because a lot of times it’s assumed or not interesting. AI is a tool, it’s a lever that you push on to multiply your effort. The product of your effort speaks for itself, as it always has.
I'm writing the C backend by hand and using AI for the rest, so how did this author manage to finish an entire language in just 34 hours? I've been steadily catching and fixing what the AI writes, so it's amazing to me that they ended up with a complete language. It makes me wonder if the way I'm building a compiler is just wrong.
If you tell it to write a spec -> then write the tests -> then implement, the LLM should be able to pretty much one-shot a compiler frontend. LLMs really benefit from the kind of task that has a built-in validation loop.
I'm working on something similar, but unlike the author, my progress has been pretty slow. It's tough. I do write about a fifth of the code myself, but I keep getting stuck on the rest.
GPT/Fable/what have you is not building this language, as its laid out, and "working" in a true sense that fast.
Either OP is completely full of it, the language didn't actually work (and likely still doesn't), or the language is far less sophisticated than it seems from the examples - it's and the examples are minimal, so it's kind of hard to tell what it actually does...
Nicely done Geoffrey, I think we are coming full circle, instead of porting projects to different languages (for whatever) like going from zig -> rust -> zig, now we can also add additional hops like zig -> rust -> curse -> ts -> ocaml -> english -> zig.
Late 2020, pre-AI, which I'm not sure if that makes it better or worse...
-- Obviously this one also runs DOOM ;)