Integrated Modern Systems and Applications Programming Compilers (high and low level)
HiLow is a compiled programming language with two modes that share one syntax: High for application development and Low for systems programming. Both modes use the same semantics and differ only in which features are available and what the compiler enforces. It is an early, in-progress implementation following a complete, stable design specification.
Highlights
- Two modes, one language. High mode gives you flexible objects, type inference, and automatic memory management; Low mode gives you pointers, explicit memory modes, and inline assembly.
- No type coercion. Conversions are always explicit, so the compiler never quietly changes a value's type behind your back.
- Precise equality. Three operators say exactly what you
mean:
?=(strict),~=(approximate), andis(type test). - First-class types.
time,money,nothing, andunknownare built into the language. - Reactive by design. A
watch()primitive brings reactive programming into the core, alongside scope-based ownership with refcounting. - Native code, no runtime. Compiles to native code with no garbage collector and no runtime, with optional formal verification.
A taste
high program(args: [string]): i32 {
let name = "HiLow"
print(f"Hello from {name}!")
return 0
}
Installation
HiLow is built with Rust and Cargo. You'll need Rust 1.70+, and GCC for compiling generated C code in later phases. The compiler currently builds a stub:
git clone https://github.com/Solifugus/HiLow.git
cd HiLow
cargo build
./target/debug/hilowc example.hl
Downloads & installation
Builds are coming soon. Grab the source from GitHub for now.