8 ms·
56,000 lines of DOOM, in a language I made up
- bentt 2mo agoThis 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.
- NuclearPM 2mo agoI 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.
- engineer_22 2mo ago> 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.
- ch4s3 2mo agoI 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.
- vofx 2mo ago[flagged]
- DontchaKnowit 2mo agoIs it really that big of a deal? Basically every teenager talks like this regardless of race
- deleted 2mo ago[deleted]
- deleted 2mo ago[deleted]
- senbrow 2mo agoI know you probably mean very well, but IMO it's really bizarre and patronizing to be offended on someone else's behalf, especially if the offended people in question are perfectly capable of expressing the sentiment themselves. If there's actual outrage from the group, it will surface from them without your involvement. If it offends YOU, just say so plainly. The hypothetically offended group doesn't need a random stranger to white knight for them in the comment section of a niche tech news website.
- dmurvihill 2mo agoActually, the group in question have repeatedly and vocally asked others to speak up when they see nonsense like this.
- andai 2mo agoExcellent. At last, I can I confess a far worse crime. Late 2020, pre-AI, which I'm not sure if that makes it better or worse... #include "uwu.h" #include <stdio.h> iwint main() stawt iwint owo is 5 yiff fuw (iwint uwu is 0 yiff uwu smol owo yiff uwu incwease) stawt owo is owo wif uwu yiff spweak nuwumber_fowmat, owo spwake yiff stawp stawp -- // uwu.h #define is = #define yiff ; #define stawt { #define stawp } #define fuw for #define iwint int #define wif + #define wiffout - #define smol < #define larg > #define incwease ++ #define spweak printf( #define spwake ); #define nuwumber_fowmat "%d\n" Obviously this one also runs DOOM ;)
- giancarlostoro 2mo agoReminds 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.
- bitwize 2mo agoStephen 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: https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh...
- anthk 2mo agoI was about to post this.
- Tallain 2mo agoThanks! I hate it! In awe at whatever inspired this though
- Cshaya 2mo agothis gave me such a good chuckle :p
- 2mo ago
- jdw64 2mo agoI'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.
- swiftcoder 2mo agoIf 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.
- jdw64 2mo agoI'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.
- onlyrealcuzzo 2mo agoWell... The fact that it took 10x longer for Doom to build than the language tells a lot. Doom is not harder to re-implement than a language. The language does not "work" by any sense of the word - which is why it took Doom so long to implement. You could get GPT to "self host" a "language" in 5 hrs. That's not impressive. The language actually working and being non-trivial would be in 20x the time. Sure, GPT can build yet-another-Lisp in 2 minutes. You could copy Lispy yourself in that time: https://www.norvig.com/lispy.html https://www.norvig.com/lispy.html 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...
- ch4s3 2mo ago
- Retr0id 2mo agoIt's cool that AI lets you cheaply experiment with language design, but I wish people would stop using it for the writeups, too. Buried near the end is a mention of per-frame arena allocation, which is an interesting idea for a game engine (although not a novel one).
- rebolek 2mo agoWhat if I don't `evict`? How different is it from forgetting to `free`?
- freestanding 2mo ago[flagged]
- ahmadyan 2mo agoNicely 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. Thank you for keeping the token furnace burning!
- StilesCrisis 2mo agoDid they actually post their DOOM source anywhere? They didn't seem to have posted the compiler source, just a playground.
- averagedevguy 2mo ago[dead]
- averagedevguy 2mo ago[dead]
- averagedevguy 2mo ago[dead]