FAQ: Yes, I know there's an IDE called Zed... but the Zed programming language was named Zed way back in 2012... and there's enough room in this world for two Zeds :)
@luccahuguet@LH I have ChatGPT and Claude both checking Gemini's suggestions. It makes a lot of mistakes but it also often provides some genius suggestions that the others missed.
@zyeutequebec@LH See the reposted tweets in this account to get an idea. The design is massive and complex, but it's all to hide an enormous amount of complexity under a very simple and easy to use language. I simply never had enough hours in the day before to build this all. Now I have Opus 5.5.
Thank you! I actually had agents (Claude, Gemini, and ChatGPT) all doing critiques, meta-critiques, reconciliation, and improvement cycles for about a week, 24/7, to polish out the spec, to cross-check everything, to split it into the tiniest of concrete tasks, and to schedule the tasks until they produced a family of something like 120 languages that were in a strict subset hierarchy, like Russian nesting dolls, and then I broke that out further into a DAG of tasks that needed doing -- in other words, I did an enormous amount of work (or my agents did) -- probably billions of tokens, just working on the implementation plan, before I had them write even a single line of code. Yes, it's important to have a good plan!
Originally: I conceived of it those 20 years ago as a way to fix all the issues I saw with existing programming languages. In particular, I have always been big on parallel and distributed computing, and when the multicore revolution kicked off in 2002, I started to get frustrated that all languages used only one core unless you jumped through hoops. That is still true of almost all languages today, and we have a lot more cores, and different types of cores (CPU/GPU and even FPGAs).
I discovered that all computation is fundamentally DAG-structured, and I found the minimum set of necessary and sufficient constraints that you have to place on a programming language's syntax to ensure that the origin of all values could be known at compile-time, allowing the compiler to determine that the data dependency graph of the program is DAG-structured. (I had a patent on this but didn't pay the renewal fees so it has expired.) With that, the DAG becomes the parallel execution plan, because it is a partial ordering. That means you can parallelize optimally for any target architecture, up to the limit of parallelizability of the program.
Since I figured that out, most of my design work has been on ergonomics: how do I make this the most powerful and fun language ever created?
There are other goals: this compiles to native code only, there is no virtual machine -- and no garbage collector either. The DAG structure allows toy to also create precisely optimal automatic memory management.
The design is also based on category theory, which is a very deep and powerful field of mathematics that describes how collections of values map onto each other.
All this and much more coming soon(ish)...
Anyway those were my early goals -- and also creating a language that was great for math, like Julia.
However my goals have now changed: Zed is now going to become the absolute best language for an LLM to write code for. I want this to become the language of AI. There's a lot riding on that, and it's too much to describe here. But that's the new goal.