Control Flow

Function bodies support terminating if guards, conditional joins with normal or owning-return arms and at most one assigned outer binding, return, throw, while, classic for, declaration for…of loops and terminating switches. Functions state their result with a return or complete normally with undefined. Loops retain multiple state values and may contain nested loops, conditional arms, break, continue, owning-function returns, throws and switches with braced cases.

Pages

Refused by design, each page showing what fjs compile prints and what to write instead:

Reference

  • ECMA-262: see each page.

Emergent Testing

Idle. Press Run to start the suite.

  • ./guards/proof.f.mjs
  • ./loops/proof.f.mjs
  • ./proof.f.mjs
  • ./switch/default-position/proof.f.mjs
  • ./switch/proof.f.mjs