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 loops and terminating switches. Functions state their result with an explicit terminator. 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