Independent semantics
LilScript source is parsed and checked as LilScript. JavaScript is a backend target, not the language definition, and TypeScript is not part of the pipeline.
Standalone systems language
A statically typed language with C-style declarations, familiar JavaScript ergonomics, whole-program SSA optimization, and JavaScript plus native targets.
class Vector {
float x;
float y;
init(float x, float y) {
this.x = x;
this.y = y;
}
float lengthSquared() {
return this.x * this.x + this.y * this.y;
}
}
int[] values = [1, 2, 3, 4];
auto doubled = values.map(
(int value) => value * 2
);
int sum = 0;
for (int i = 0; i < doubled.length; i++) {
sum += doubled[i];
}
Vector vector = new Vector(3.0, 4.0);
if (vector.lengthSquared() == 25.0) {
print(`sum=${sum}`);
}
var b=[1,2,3,4].map(a=>a*2|0);
var a=0,c=0;
while(a<b.length){
c=c+b[a]|0;
a=a+1|0;
}
console.log(`sum=${c}`)
Language design
LilScript source is parsed and checked as LilScript. JavaScript is a backend target, not the language definition, and TypeScript is not part of the pipeline.
Arrays expose typed map, filter, reduce, and mutation methods. Structs, classes, closures, templates, and C-style control flow are built in.
Whole-program analysis assumes a closed world. Host interaction uses typed extern declarations so escaping values receive a stable boundary representation.
Compiler architecture
Measured output
The generated catalog currently covers 38 compiler applications and library/runtime surfaces, realistic application scenarios, property-mangling stress, and mechanically paired sources across 168 artifact lanes. Every published row names its compatibility boundary and codec.
Vite unminified, Vite/Oxc, private-property Terser, Closure ADVANCED, and three LilScript policies stay separate.
Raw, gzip-9, and Brotli-11 remain visible even when the configured release objective selects only one.
Every local project detail is generated from the exact JavaScript and LilScript files used by its harness.