Core Language
Core Language
Learn how MAKO remembers things, makes choices, and repeats jobs.
Variables & Types
A variable is a named box that remembers something. Put a value in the box with =. MAKO can remember numbers, words, yes/no values, nothing, lists, dictionaries, and functions.
Open page →Operators
Standard arithmetic and comparison, plus word-based logical operators instead of symbols.
Open page →Strings & Interpolation
Strings are indexable, interpolate any expression inside {}, and come with a solid built-in method set (see Standard Library).
Open page →Control Flow
if / else if / else, while, for-in, break, continue, and return. No parentheses required around conditions.
Open page →Functions & Lambdas
Top-level fn declarations for named functions (recursive, hoisted), plus first-class lambda values for callbacks and higher-order code.
Open page →Error Handling
try / catch — no exception hierarchy, every caught error is just a message string.
Open page →script, using, use & mylib
Start with one normal MAKO script. Give it a name only if you want one. When you need more tools, using connects a package, use makes one of your local files available, and mylib pulls a reusable library from GitHub. ModuMAKO adds its environment at the end.
Open page →Structs
A dict works for loose data. A struct is for when a group of fields has a name and, usually, behavior that goes with it — a Point, an Enemy, a Card. Fields have no types, so a struct is really a named, checked shape plus methods, not a class in the C#/Java sense.
Open page →MAKO v0.1.0 · APIs are documented from the current runtime.
