Installation

The FlipJump toolchain — the assembler fj, the interpreter, and the standard library — is distributed as a single Python package.

Prerequisites

  • Python 3.10 or newer.

  • Any modern OS (Linux, macOS, Windows).

Install

pip install flipjump

That puts a fj script on your PATH. Sanity check:

fj --flipjump_version

You should see a version string like flipjump 1.5.0. (--flipjump_version is new in 1.5.0; the older -v/--version flag is the .fjm format version, not the package version.)

The wheels ship a prebuilt native C interpreter engine (CPython ≥ 3.10 on Linux, macOS, and Windows), so a plain pip install flipjump already runs at roughly 300M FlipJump ops/second. No extra step — fj picks it up automatically, falling back to a pure-Python loop only if the native engine isn’t available. See the fj command for the engine-selection and --profile details.

Optional extras

The base package assembles and runs everything. A few opt-in extras add more:

pip install "flipjump[io]"            # interactive keyboard + screen window (--io pc)
pip install "flipjump[io,stats,tests]"  # everything
  • [io] — the interactive IO devices, e.g. the pygame-backed window behind fj --run prog.fjm --io pc (live keyboard input and a 256-color screen).

  • [stats] — the interactive macro-usage graph (--stats).

  • [tests] — the libraries needed to run the project’s test suite.

Optional: clone the repo for examples and tests

The PyPI package gives you everything you need to assemble and run programs, but the upstream tomhea/flip-jump repo also ships example programs, tests, and the source of the standard library that this documentation auto-generates.

git clone https://github.com/tomhea/flipjump.git

Don’t want to install anything?

The FlipJump IDE at fj.tomhe.app runs the same assembler and interpreter as the CLI for you — you write code in the browser and it runs on the server, with output streamed back live. Pre-loaded examples include Hello World, a prime sieve, and a calculator.

Editor support

.fj syntax highlighting is available as published plugins, both applying the same fj-dark colours as the IDE and these docs:

See Editor syntax highlighting for details. Vim / Emacs / other editors don’t have an established .fj mode yet — the Lexical Structure reference is short enough to bootstrap one quickly.

What’s next

Continue with the Hello World walkthrough to write and run your first FlipJump program.