Uai is a compiled, safe, and modern programming language, still in development.
It is designed to combine simple and readable code, concurrency safe by design, high performance, native compilation, explicit typing, as well as messages and threads as fundamental language features.
Uai is in an experimental and early stage. Currently, there is no complete runtime, no stable standard library, and no finalized package system. The syntax is constantly changing, and there are no stability guarantees.
What exists today is, basically, the experimental language core and the compiler under development.
- Nothing (totally development)
- Thread system.
- Messaging system.
- Concurrency model via lock operation queue.
- Standard Library design (
std). - Memory consistency rules.
- Package ecosystem.
- Module system.
IntegerFloatStringBooleanPrecision_DecimalTable(Experimental native type)
learn std.io;
io.println("Uai");
Output: Uai
All variables have explicit types:
def String cafe = "coffee";
def Integer pao_de_queijo = 10;
def Float temperatura = 36.5;
def Boolean quente = true;
def Integer add(Integer a, Integer b) {
return a + b;
}
msg coffee_ready;
def Thread thread = Thread.new({
thread.wait(3, "s");
call coffe_ready;
});
receive coffee_ready {
io.println("Coffee is ready");
}
# ATTENTION! The message can be called before the 'receive' definition.
implementation Chaos for String {
ovr mag show(Output o) {
fatal("it's on fire bro");
}
}
learn Chaos;
Trem is the command-line tool for managing projects:
trem new <project_name>trem buildtrem runtrem test
Uai explores safe concurrency, native data structures such as Table, explicit typing, compilation via LLVM, and a controlled execution model.
Important Note: Everything is subject to change. Uai is still under active development and is purely experimental.