Also, it's unfortunate that Vale is one letter away from Vala.
Also, it's unfortunate that Vale is one letter away from Vala.
- (shameless plug): https://floooh.github.io/2018/06/17/handles-vs-pointers.html
- Seb Aaltonen's recent engine design presentation (search for "Fast & safe object lifetime tracking"): https://enginearchitecture.realtimerendering.com/downloads/r...
Some gamedev engines probably invented a similar concept in parallel over the last two decades.
...having things like this baked into the language is quite a bit nicer of course, and should allow for better performance.
Dala and Vale are memory-safe. Vala and Dale are not.
It's much older than that. The capability-secure operating system EROS from the early 90s [1] used this technique in its capabilities. Capabilities were kernel-protected 64-bit numbers that mapped to system objects, and they carried a 16-bit generation index that was used to revoke the capability (basically a free operation). It might have even been used in its predecessor KeyKOS from the 80s, I don't recall at this point.