Current Limitations
Matchbox 0.2 is an early, intentionally small release.
Language
intis the only available type.- Unsigned integer type tokens such as
uintanduint32are reserved but not supported as type annotations. - Conditionals, loops, Boolean literals, strings, collections, modules, and user-defined types are not implemented.
- Comparison and logical operators are recognized but rejected with an
Unsupported operatordiagnostic. - Unary
+is not supported; use the value directly. - Functions must be defined before they are called.
- Direct recursion is not supported.
- Nested functions do not capture enclosing local variables.
- Empty
returnstatements are not supported. - Function and built-in argument expressions are evaluated left to right.
Input and Output
- Programs cannot read standard input.
- Programs cannot access command-line arguments or environment variables.
- File input and output are not available.
printwrites only integers, one per line.
Runtime
- Matchbox runs on the built-in virtual machine in this release; native-code or object-file output is not available.
- Integers are signed 32-bit values.
- Arithmetic overflow is not checked.
- Division by zero and invalid shifts are not handled by a language-level diagnostic.
- The virtual-machine stack holds 1,024 values; deeply nested calls can report
Error: Stack overflow. - The only supported platform is Windows.
Reserved words and tokens for future features may already be recognized. They are not supported unless they are documented elsewhere in this edition.