Iowa is a simple, high‑level interpreted language designed for readability. Inspired by modern scripting languages, Iowa offers a clean syntax, dynamic typing
- Interpreted: No compilation step—run scripts directly.
- High-Level Syntax: Clean, human-readable code.
- Dynamic Typing
- Platform: Anything Unix
Before you begin, ensure you have the following installed on your system:
clang- GNU Make
- Git
Use make to compile the interpreter:
makeThe executable will be placed in the bin folder.
Build and run tests
make run
# or
./run.shInvoke the interpreter with a script path:
./bin/Iowa path/to/script.iaRun it:
./bin/iowa hello.iaset number = 0;
console_out(number);
loop (number <= 5){
console_out(number);
set number = number + 1;
}
0
0
1
2
3
4
5
6set number = 3;
console_out (number == 5);
if (number == 5) {
console_out ("number is 5");
}
else {
console_out ("number is not 5");
}
false
number is not 5console_out ((((2 + (5 * (3 - 1))) + 1) + (4 - 3) + 3) + (3 + 3) + (4 / 2) / (9 * 2));
console_out (false && (false || true) || (false && false));
23
falseset x = 5;
set y = 2;
console_out(x*y);
{
set x = 2;
console_out(x*y);
if (x*y == 4){
console_out("Hello World!");
}
else {
console_out("Goodbye World!");
}
}
10
4
Hello World!