Mindcode is a high-level language that compiles down to Mindustry Logic - mlog. Mindcode includes higher-level constructs, such as expressions, user-defined functions and control statements. Here are some examples to give you an idea how to use Mindcode:

107 lines of code

645 lines of code

Bug reports, suggestions and questions are welcome at the project page.

  • 176 instructions before optimizations.
  • 20 instructions eliminated by Temp Variables Elimination (6 iterations).
  • 20 instructions eliminated by Dead Code Elimination (5 iterations).
  • 2 instructions eliminated by Jump Normalization (2 passes, 5 iterations).
  • 11 instructions eliminated by Condition Optimization (2 passes, 7 iterations).
  • 12 instructions eliminated by Single Step Elimination (3 passes, 8 iterations).
  • 1 instructions modified by If Expression Optimization (3 iterations).
  • 525 instructions eliminated by Data Flow Optimization (5 passes, 16 iterations).
  • 2 instructions added by Loop Rotation (3 iterations).
  • 5 loop conditions were partially rotated.
  • 1021 instructions added by Loop Unrolling (8 iterations).
  • 1 loops unrolled by Loop Unrolling.
  • 38 instructions added by Function Inlining (8 iterations).
  • 7 function calls inlined by Function Inlining.
  • 2 instructions eliminated by Jump Straightening (6 iterations).
  • 4 instructions updated by Jump Threading.
  • 645 instructions after optimizations.
  • Code size and number of instantiations by function: Size Times AvgSize Function 520 1x 520.0 <no function> 50 2x 25.0 void printNumber(in n) 27 1x 27.0 def sumPrimesUpTo(in maximum) 20 4x 5.0 def getBit(in bitIndex) 16 2x 8.0 def testAndSetMultiples(in n, in maximum) 12 2x 6.0 void setBit(in bitIndex)
  • Performance: parsed in 13 ms, compiled in 3 ms, optimized in 133 ms, run in 5 ms.