Verse (paper/slides, language reference) is the “language for the metaverse” being developed by Epic Games and some very well-known PL researchers.
It has some very ambitious and non-traditional features: first-class types, effects, non-strict evaluation, choice (kind of like non-determinism), and transactional memory. Transactional memory means that a Verse computation (transaction) can be aborted early, and all effects produced by the transaction will be reverted.
Verse also is interoperable with C++, and part of that interop is that C++ functions called in Verse must also have their C++ effects reverted. Furthermore, this is for graphically-intensive realtime games so this rollback implementation must cause as minimal overhead as possible. That’s what this article is about.
There’s already some Verse code running in Fortnite and you can write Fortnite plugins in Verse today, but it’s very WIP.
Huh, the docs are the only place where I see
if
defined in that way; in the slide decks and the paper the term “choice” means what you would expect in a logic programming context, and they even show concrete examples of unification. Maybe the Unreal Engine is using a subset of the full language for its dialect so that it can be mapped to and from C++?Ah, ok. I’ll have to check this out in more detail.