iovis is a fast compiled language with a strong focus on performance and convenience.
A simple Hello World program can be written as such
fn main() {
printf("Hello World");
}
lib.iov
extern {
fn printf(format: string, ..);
fn scanf(format: string, ..): i32;
fn fgets(format: string, n: i32, stream: i32): string;
}
main.iov
import lib;
fn main() {
let input: i32;
printf("What's your favorite number?\n");
scanf("%d", &input);
if input != 12 {
printf("Wrong");
} else {
printf(":-)");
}
}
SDL2 Bindings exist and can be found in test/
along with a simple window application.
- Lexer
- Parser
- Rust compiler
- LLVM-IR CodeGen
- Dependency Analysis
- Type Inferencing
- Automatic forward declaration for structs and functions
- Arrays
- Multi-dimensional arrays
- Standard Library
- Bug fixes 🐛
You can try out a live demo of the interpreted version here. It uses WASM compiled using wasm-pack
which allows it to parse and interpret at blazingly fast speeds. (not benchmarked)