Software architect, hobbyist game developer, ex-googler, and lead for the Vale Programming Language!

Joined October 2019
It turns out, if you travel backwards in time, so that you already know the future. A particularly useful technique in memory safety!
1
58
In verdagon.dev/blog/reverse-bo…, I talk about how we can use this technique in Valen's borrow checker. Hope you all enjoy =)
1
1
245
"We want to support good abstraction, while not encouraging bad abstraction." IMO, that's a much better take than "abstraction bad". Good abstractions: Unix's file descriptors, TCP, Java's GC, for most cases. Bad abstractions: dependency injection frameworks.
104
New article! This one's about how Ante took a pretty big step forward in making borrow checking and reference counting actually work well together. Enjoy! verdagon.dev/blog/ante-blend…
1
2
13
638
TL;DR: You can have multiple mutable references to the same data, and even temporarily turn one into a unique reference if you need to modify e.g. unions. Turns out, that fits with RC really well!
2
94
New article! verdagon.dev/blog/impossible… "The Impossible Optimization, and the Metaprogramming To Achieve It" TL;DR: If you warp your mind a bit, you can apply metaprogramming to speed up your code by about ~10x. Enjoy!
4
1
19
1,316
Just posted a new article! verdagon.dev/blog/group-borr… "Group Borrowing: Zero-Cost Memory Safety with Fewer Restrictions" TL;DR: Nick Smith's epic approach to better borrow checking. Take a look!
3
2
8
1,062
I *really* went off the deep end on this one. But it works, and in theory we can now build on top Rust's ecosystem! verdagon.dev/blog/exploring-… "Crossing the Impossible FFI Boundary, and My Gradual Descent Into Madness"
1
3
589
Pretty proud of this technique! (though I'm not the first to find it) verdagon.dev/blog/llm-throug… Basically, batching + layer-wise inferencing from disk, which means we can run large LLMs on tiny devices without losing throughput.
2
546
Evan Ovadia retweeted
Behold! Higher RAII, and the Seven Arcane Uses of Linear Types: verdagon.dev/blog/higher-rai… It turns out, you unlock pretty sorcerous powers when you make it so only specific functions can destroy a certain type. Also, it's very weird that a language could help with caching.
2
1
13
881
New article! "Borrow checking, RC, GC, and the Eleven (!) Other Memory Safety Approaches" verdagon.dev/grimoire/grimoi… I'm starting to sense a theme in my articles: a lot of archaeology metaphors. Hopefully nobody notices!
1
1
4
396
Had a ton of fun talking linear types, regions, and Vale with @krisajenkins (of Developer Voices), always enjoy geeking out with fellow programmers about the weird directions programming can go! youtube.com/watch?v=UavYVf0U…
2
9
748
Evan Ovadia retweeted
At long last, the first prototype of immutable region borrowing in Vale! verdagon.dev/blog/first-regi… This technique removes Vale's memory safety overhead by making borrowing and shared mutability work well together.
2
1
8
609
It turns out, there's a few ways we can make C++ memory-safe, if we blend some obscure techniques. Blend #1: Vale's gen refs / constraint refs plus Val-style borrowing. I go into it in verdagon.dev/blog/vale-memor…. (If only we had something from Vala too, we'd have the whole set!)
1
4
360
Blend #3: Blending arenas (Zig, Odin) with region borrowing (Vale) [1] and Pony's iso [2]. Similar in spirit to Verona [3], without GC. We alluded to it at Handmade, handmade.network/podcast/ep/…. [1] verdagon.dev/blog/zero-cost-… [2] tutorial.ponylang.io/generic… [3] github.com/microsoft/verona
1
1
292
Blend #4, though I'm a tad unsure on this one. Something along the lines of the "MMM++" in verdagon.dev/blog/when-to-us… with pieces from the theoretical Arrrlang, at verdagon.dev/blog/myth-zero-…. Basically, allocating from static type-specific arrays, like embedded code often does.
170
Ember Deep (my 7DRL 2020 game) just got reviewed by Red Kangaroo! attnam.blogspot.com/2020/03/…