Austral

Austral is promoted as "A Systems Language with Linear Types and Capabilities". It is a new programming language still under construction as of early 2023, and is intended to ensure correctness and security by having really strict rules about how its data types can be used, enforced at compile time. For instance, "linear types" can only be used exactly once; it's an error to either fail to use a variable of such a type at all, or to use it twice or more. Multiple use is handled by having functions it is passed to return the original variable so it can be used again. "Capabilities" are linear objects granting permission to do something, such as access a particular directory in a filesystem or network socket, which have to be "lent" to and "returned" from functions that need them.

Links

 * Github site
 * Introducing Austral