Self-Hosting In Progress

Natural Language is Machine Code

Jasterish (JStar) is a system-level language where English words compile directly to x86-64 machine code. No gap between human intent and silicon.

program.jstr
1 # Count to 5, then return the result
2 global counter
3 store 0 into counter
4 while less counter 5
5 add counter 1
6 end
7 return counter

Speak to the Machine

Jasterish eliminates the translation layer between thought and execution. Every English word has a machine-level semantic.

Direct x86-64 Emission

No LLVM. No Cranelift. No external dependencies. The compiler emits raw machine code for true zero-dependency binaries.

🔒

Post-Quantum Security

Built on NIST standards: ML-KEM-1024 for key encapsulation, ML-DSA-65 for signatures, AES-256-GCM for encryption.

🎯

Deterministic Tokenization

Built on morphlex: a 12-byte integer-packed token vector system. Same input always produces identical output.

🏗️

Self-Hosting Target

Bootstrap in Rust, then Jasterish compiles itself. The compiler is written in the language it compiles.

📊

Java Primitive Types

Familiar type system: boolean, byte, short, int, long, float, double, char. Type-safe with inferred modifiers.

🐚

JStar Shell (JSH)

Interactive REPL and script execution. Shebang support. Built-in commands for file operations and process management.

Grammar is Architecture

The part of speech determines the machine role. Verbs are operations. Nouns are data. Prepositions are addressing modes.

Verb
Operation / Instruction
add, store, jump, compare, return
Noun
Data Declaration
integer, buffer, counter, result
Adjective
Type Modifier
unsigned, static, mutable, volatile
Adverb
Execution Modifier
immediately, conditionally, repeatedly
Preposition
Addressing Mode
into, from, at, through
Determiner
Scope / Lifetime
the (global), a (local), this (self)
Conjunction
Control Flow Join
and (sequence), or (branch), if (conditional)
Pronoun
Register Alias
it (accumulator), that (last result)

Java's 8 Primitives

Familiar types with direct x86-64 register mapping. Type inference from adjective modifiers.

Jasterish x86-64 Range
boolean i8 0 or 1
byte i8 -128 to 127
short i16 -32K to 32K
int i32 default integer
long i64 full 64-bit
float f32 IEEE 754
double f64 IEEE 754
char u16 UTF-16 code unit

Code That Reads Like Thought

Jasterish programs are readable by humans and executable by machines. No translation necessary.

fibonacci.jstr
1 # Calculate fibonacci(10)
2 global n
3 global a
4 global b
5 store 10 into n
6 store 0 into a
7 store 1 into b
8 while greater n 0
9 store b into a
10 add a b
11 subtract n 1
12 end
13 return a