The Vale Programming Language! Learn more at vale.dev/

Joined July 2020
1 Photos and videos
Vale retweeted
28 Aug 2025
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!

2
7
875
17 Jun 2024
With this, new languages like Vale are one step closer to being able to reuse the entire Rust ecosystem! verdagon.dev/blog/exploring-… "Crossing the Impossible FFI Boundary, and My Gradual Descent Into Madness"

7
534
24 May 2024
If we're right, then this could pave the way towards newer languages calling into and building upon Rust, in the same way C built upon C! verdagon.dev/blog/exploring-… The most surprising part is that we're sending non-#[repr(C)]'d types into C. Heresy, but effective!

1
3
10
698
14 May 2024
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
857
24 Apr 2024
New article! "Borrow checking, RC, GC, and the Eleven (!) Other Memory Safety Approaches" verdagon.dev/grimoire/grimoi… If anyone knows any more approaches, speak up, would love to expand that list!

3
5
29
2,135
Vale retweeted
11 Jul 2023
Replying to @vale_pl
Regions are also a way to make colorless fearless structured concurrency (a mouthful I know), without going all in on a Rust-like borrow checker. verdagon.dev/blog/seamless-f… Now that we have a working regions prototype, I can finally start working on concurrency!

1
356
Vale retweeted
11 Jul 2023
Replying to @vale_pl
This has been a long time coming! Regions are Vale's "killer feature", they let us write in a normal unrestricted way then incrementally optimize. This lets the user choose whether they their is flexible like Java, fast like Rust, or any point in between.
1
1
1
316
11 Jul 2023
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
603
Vale retweeted
23 Jun 2023
Blend #2: Single-threaded RC (Nim), plus region borrowing (Vale) [1], plus copy types (C#, Swift). Enforced by static analysis checker, of course. (I think we might also be able to do contiguous ref-counted arrays, but still looking into that.) [1] verdagon.dev/blog/zero-cost-…

1
1
1
253
23 Jun 2023
How to make a language like C memory-safe without borrow checking, RC, or tracing GC. Enjoy! verdagon.dev/blog/vale-memor…

4
282
19 Jun 2023
We often talk about zero-overhead memory safety, but no language has ever really achieved it. Once we use a more holistic definition, we see that memory safety always has a run-time cost. The only question is: where do we want to pay it? verdagon.dev/blog/myth-zero-…

2
248
Vale retweeted
15 Jun 2023
Replying to @vale_pl
Linear types (and the higher RAII they enable) are pretty huge. Any time you say "Ah, I forgot to do X", that's a bug linear types help prevent. I wrote about this in verdagon.dev/blog/higher-rai… and have been discovering more and more uses for them ever since!

1
2
213
15 Jun 2023
It turns out, one doesn't need borrow checking, RC, or GC to get memory safe single ownership! And with a little twist, we can enable compile-time guarantees that no mainstream language has been able to achieve. verdagon.dev/blog/single-own… Enjoy!

1
1
7
372
10 Jun 2023
One of those little weird little language details that can have potentially *huge* development time benefits: generics and type erasure. verdagon.dev/blog/generics-c…

1
5
198
Vale retweeted
Replying to @vale_pl
Fun fact: All these techniques we're designing for Vale could easily be applied to reference counted languages too. This (plus regions) is why I think RC will make a huge comeback in the next decade, even over tracing GC.
1
1
3
148
1 Jun 2023
Revelations about where efficient memory safety actually comes from! verdagon.dev/blog/linear-typ… TL;DR: We can combine linear types with other memory safety approaches (like gen refs or ref counting) to reduce overhead down to zero where we want.

1
1
8
201
9 May 2023
There's a *lot* that goes on under the hood for Vale's region borrowing. But hey, nobody said it would be easy to make a completely new memory safety paradigm! verdagon.dev/blog/making-reg…

2
6
198
2 May 2023
The Vale compiler just passed 100,000 lines! Some lessons learned from the endeavor so far: verdagon.dev/blog/first-100k…

1
10
522
16 Jan 2023
An analysis of why GC is so fast to develop with, why borrow checking is often slower, and everything in-between. Enjoy! verdagon.dev/blog/when-to-us… "How Memory Safety Approaches Speed Up and Slow Down Development Velocity"

1
6
17
1,593
22 Nov 2022
A tale of how a 2am realization led to discovering the fourth memory safety paradigm! verdagon.dev/blog/making-reg…

1
2