Linguistics First
LOVE treats natural language constructs as syntax. You write programs the way you think about them.
What is the List Oriented Virtualized Evaluator, and why does it exist?
LOVE stands for the List Oriented Virtualized Evaluator — a novel, linguistics-oriented programming language that treats language itself as a first-class citizen.
Programming with language as a first-class citizen.
Unlike traditional programming languages that impose a fixed syntax upon you, LOVE-LANG allows you to program the programmer. It is self-programmable, self-reflective, self-optimizing, and self-healing.
| Letter | Meaning | Description |
|---|---|---|
| L | List | All data in LOVE is a typed list — expressions, forms, and programs are all sequences |
| O | Oriented | LOVE is oriented around linguistics, not objects or functions |
| V | Virtualized | The evaluator is fully virtualized — it can rewrite itself |
| E | Evaluator | LOVE programs are evaluated by a self-modifiable interpreter |
LOVE-LANG is rooted in a single invariant: the Superautology — an unbreakable meta-rule that all language variants must satisfy. Built on top of this immovable foundation are five levels of linguistic expression, from L0 (closest to metal) to L5 (closest to meaning).
Linguistics First
LOVE treats natural language constructs as syntax. You write programs the way you think about them.
Self-Programmable
The language can rewrite its own interpreter at runtime, enabling meta-level programming that is impossible in conventional PLs.
Multi-Target Compilation
Built on Racket & Sham, LOVE compiles to any target, ever. WebAssembly, native binaries, JavaScript — nothing is off limits.
Homomorphic Structure
A parser that has the same structure as the grammar it parses. The “state” at each parse step is a linear memory array in the same order as the input.
A common question: “Isn’t this just Racket?”
Racket is a language-oriented programming language, where LOVE is a linguistics programming language.
The differentiation is that formal languages are processed by Racket through a runtime, while LOVE mutates its internal interpreter to process multiple language streams according to higher-order constructs governed by the Superautology.
| Feature | Racket | LOVE-LANG |
|---|---|---|
| Paradigm | Language-oriented | Linguistics-oriented |
| Mutation | Macros | Self-modifying evaluator |
| Bracket levels | 1 | 5 (L1–L5) |
| Grammar structure | External | Isomorphic to parser |
| Target | Racket VM | Anything |
LOVE expressions are categorized into five levels (brackets depth), each with a distinct semantic role:
L1 = [x] # Variables / Primitive ReferencesL2 = [[x]] # Pure Operations / Standard Library MathL3 = [[[x]]] # Type Contracts / Structural SchemasL4 = [[[[x]]]] # Compiler Directives / MacrosL5 = [[[[[x]]]]] # System FFI / I/O / Side-EffectsThis bracket hierarchy is not arbitrary — it encodes the complexity and trust level of every expression in the language.
LOVE-LANG is for developers who:
Ready to dive in? Head to the Quick Start guide.