It turns out, if you travel backwards in time, so that you already know the future. A particularly useful technique in memory safety!
In verdagon.dev/blog/reverse-bo…, I talk about how we can use this technique in Valen's borrow checker. Hope you all enjoy =)
"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.
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…
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!
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!
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"
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.
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.
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!
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…
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.
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!)
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
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.
Ember Deep (my 7DRL 2020 game) just got reviewed by Red Kangaroo! attnam.blogspot.com/2020/03/…
Giving a talk on this tomorrow, feel free to ask questions! verdagon.itch.io/incendian-f…

