Matchbox 0.2

Current Limitations

Matchbox 0.2 is an early, intentionally small release.

Language

  • int is the only available type.
  • Unsigned integer type tokens such as uint and uint32 are 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 operator diagnostic.
  • 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 return statements 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.
  • print writes 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.