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
How should the Silk book be called (by book I mean just a guide in the docs)? One shot covers by Astra 😆
















