Start

Getting started.

There is no stable JS++ release yet, but the bounded Linux preview candidate builds a CLI, static/shared libraries and package metadata around the same engine.

Build artifacts

ArtifactPurposeStatus
js.hC embedding APIImplemented; pre-release ABI
libjs.aStatic engine libraryImplemented
libjs.soShared engine library on LinuxImplemented
jsScript runner/checkerImplemented; no REPL yet

Source build


git clone git@github.com:tscc-project/js.git
cd js
make
make test

Intended CLI

# Run a script
js script.js

# Evaluate implemented closures, objects and arrays
js -e 'const twice = x => x * 2; twice(21);'

# Inspect bytecode
js --dump-bytecode -e '1 + 2 * 3'
Installation collision: js is intentionally simple but generic. Packaging must detect or document conflicts rather than silently replacing another system command.

Link an installed consumer

cc host.c $(pkg-config --cflags --libs js) -o host
c++ host.cpp $(pkg-config --cflags --libs js) -o host-cpp

The preview also installs CMake package metadata. Both consumer paths are tested in isolated build directories so they cannot accidentally include private repository headers.

Next

Read Embedding JS++ for the host API direction or Roadmap for the implementation sequence.