Porting libraries to Silk has been an amazing thing for stabilizing the language. In the last few days I ported
- QuickJs (JS engine)
- Google read-font and font-types (font parsing)
- Harfrust (font shaping)
- Metal bindings
- Flexbox + Block layout engine (this one is not a port, it's written from spec)
(btw, are you noticing a theme? 👀)
All resulted in many bug fixes and closing essential feature gaps in the compiler, and huge runtime and compile time performance improvement.
All of that without having to pause what was already on Silk's roadmap.
It's insane that AI can do that in a language it never saw.
3 years ago I implemented Flexbox in Zig, I was so proud of it, it took me weeks.
Silk first commit was 86 days ago, less than 3 months.
Don't get me wrong, it's been a shit ton of work, but still, 3 months for what used to take literally years.
Silk compiler is fully self hosted. Flexbox was an overnight spike. This is so crazy.
Astra has a serious problem of having zero respect for my github actions limits. One shot project, I didn't even see the result yet, and each run already takes 1h30m
I'll write a proper post mortem from this experiment later, but in summary.
- Code looks bad, `unsafe` everywhere, likely an attempt to stay 1 to 1 with a C code base. Which is a fair.
- It found 6 real bugs on QuickJs, which I'll upstream later
- It implemented everything, including Regex and Unicode.
- It is SO F* COOL...
As the @twominutepapers guy says, what a time to be a live.
Note: I hate @ChatGPT cybersecurity checks with all my heart
Twitter is a hurtful place even when you come here just to share the silly things you vibed on your free time.
1 1/2 day later:
✅ Compression algorithms
✅ HTTP/2
⚠️ WASI 1/2, needs some cleanup
😱 QuickJs rewrite. Ugliest code and backlog grows larger every time I look, but let's keep pushing..
What happens if ask Astra on Extra High when your resets are about to expire:
- Full rewrite of QuickJs in Silkla.ng
- LZMA, LZMA2, and XZ decoding
- Raw DEFLATE, zlib, and gzip encoding.
- full HTTP/2 support
- WASI 1/2 support as a target?
Let's find out!
What happens if ask Astra on Extra High when your resets are about to expire:
- Full rewrite of QuickJs in Silkla.ng
- LZMA, LZMA2, and XZ decoding
- Raw DEFLATE, zlib, and gzip encoding.
- full HTTP/2 support
- WASI 1/2 support as a target?
Let's find out!
writing a compiler is a sequence of :
"Oooooh, thats why they did [thing that I hate in another language] this way"
How should the Silk book be called (by book I mean just a guide in the docs)? One shot covers by Astra 😆
Wow… Delta (@zeddotdev) is pretty cool. I try a new harness pretty much every day, and it’s nice to see someone trying something different.
My biggest pet peeve with them is that AI already puts some distance between devs and their code, but most harnesses seem to go out of their way to keep us as uninvolved as possible. Delta seems to get that.















