Note: None of this is implemented.

Meta-conditionals are control flow blocks that are used to determine what logic gets compiled (as opposed to normal control flow blocks that determine what gets executed).

Meta variables

Meta variables are immutable and exist only at compile time. They hold typed, constant values, calculated from an expression.

imm #arrsize = 10

Note: Some meta-variables have their values set by the compiler, thereby providing information about the compile-time environment, such as the target platform and architecture. It is also possible to use a compiler option to pass in data to a program in one or more meta-variables.

#if

#if may be used to determine whether or not to include specific program logic in the compiled program:

#if #target == "windows"
  ... Windows-specific logic ...
#elif #target == "linux"
  ... Linux-specifc logic ...

#each

#each enables collection-driven, repetitive generation of the same program logic.

#each #x in #table
  ... some logic ...

_