It's a traditional systems language in the sense that you have fine control over how resources are used, but it's abstract in the sense that you have to come to an agreement with the compiler about your intent around the resources, rather than directly declaring the machinery.
It's a distributed language in the sense that there is a higher level structural abstraction in the language that situates computations of the program within a recursive graph structure. Part of that structure incorporates message broker semantics. This gives the compiler a unified view of programs across arbitrary process boundaries. The structural abstractions also enable an effects+formal verification syntax within the language, which allows programmers to codify architectural decisions that are then checked by the compiler.
The compiler itself is infrastructure aware, and the highest layer of functionality it handles is configuring the environment into which applications deploy. The single language handles everything from individual memory allocations to distributed fleet deployments.
The language is close to v1, and I'm currently building a fully distributed inference-as-a-service application with it. Arbitrary hardware/supply matched against arbitrary callers/demand in real time.
https://github.com/hale-lang/hale https://github.com/hale-lang/voice