Embedded preview · evidence current
JavaScript.
Embedded.
JS++ is a small embeddable JavaScript engine being built in C++: a plain C API, ordinary library artifacts, an inspectable bytecode VM, and an explicit compatibility boundary.
embedding surfacejs.h
#include <js.h>
js_runtime *runtime = js_runtime_new();
js_value *result = NULL;
js_eval(runtime, "1 + 2", &result);
js_value_free(runtime, result);
js_runtime_free(runtime);
IndependentA standalone engine, not an implementation detail of tscc.
EmbeddableOpaque C handles and deliberately boring artifacts.
171 / 171Runtime + embedding contract; frontend evidence is tracked separately.
One narrow mission
A JavaScript runtime that fits inside other software.
The project begins with correctness, understandable ownership and a useful embedding boundary. Optimization follows evidence.
Public surface
Packaged artifacts
ABI 0.1 provides js.h, static and SONAME shared libraries, the js shell, pkg-config and CMake metadata on Linux.
Engine core
Inspectable execution
Executable syntax lowers to bytecode whose structure and runtime behaviour can be tested directly.
Compatibility
Evidence before claims
171 runtime/embedding cases, a 26/26 lossless frontend corpus, 12/12 pinned real-bundle frontend certification, sanitizers and Valgrind demonstrate the bounded preview without claiming broad ECMAScript conformance.
Clear ownership
JS++ and tscc stay distinct.
JS++ owns runtime JavaScript
- ECMAScript parsing and bytecode
- values, objects and prototypes
- closures, exceptions and garbage collection
- jobs, modules, built-ins and embedding
tscc owns the compiler
- TypeScript syntax, symbols and types
- checking and diagnostics
- projects and module resolution
- TypeScript lowering and JavaScript emission