Types & Values
Numbers, strings, and booleans — the three kinds of values in Aksa.
Aksa keeps types minimal on purpose: three kinds of values are enough to learn every core idea of programming.
Numbers
Whole numbers and decimals, with the usual math:
make apples = 4
print(apples + 3) // 7
print(apples * 2) // 8
print(apples / 2) // 2
print(apples - 1) // 3
print(apples % 2) // 0 — remainder of a divisionDividing by zero is a friendly runtime error (E101), never a crash.
Strings
Text lives between double quotes. + joins strings together:
make name = "Aksa"
print("hello " + name)A string that is missing its closing quote is caught with error E002.
Booleans
Something is either true or false — nothing in between:
make had_breakfast = true
make is_raining = false
if (had_breakfast and not is_raining) {
print("Let's play outside!")
}Combine booleans with and, or, and not. Comparisons produce booleans: ==, !=, <, >, <=, >=.
No truthiness
Conditions must be boolean. if (5) is not a silent "truthy" guess — it is error E105 with a kid-friendly explanation: "The part inside ( ) must be true or false." This makes programs mean exactly what they say.
Variables
Create a variable with make (or just assign — make is optional):
make age = 9
age = age + 1Using a variable before making it is error E100; making the same one twice is E111. Variable names accept full Unicode, so kids can write umur, 年齢, or anything in their own script.