Demi: Building a Language From the Metal Up 🚀
Demi isn’t just another language.
We’re building an entire programming ecosystem from scratch — compiler, assembler, linker, interpreter, runtime — all custom, with no LLVM, no GCC, no shortcuts.
Our vision is dual-mode execution:
- Interpretation via our custom VM (Virtcomp) for rapid prototyping, live code reloads, and experimental development.
- Native compilation via our own backend and linker for blazing speed, reliability, and standalone distribution.
Key Features (Vision)
🔧 Total Customization – Demi gives programmers unprecedented control over how the language works:
- User-defined syntax rules – Change keywords, punctuation, and grammar to match your style or project needs.
- Extensive behavioral controls – Fine-tune type systems, scoping rules, evaluation order, and more.
- Custom standard libraries – Ship your own core API set, replacing or extending built-ins.
- Execution model tweaks – Choose between strict, lazy, or mixed evaluation, control memory management strategies, and even define concurrency models.
- Project-specific dialects – Create language variants for different projects without touching the Demi core.
Project-Based Configuration
Every Demi project has its own .demi/
config folder that defines:
- Syntax and grammar customizations
- Language behavior tweaks
- Standard library overrides
- Build and execution preferences
Configurations can be:
- Hand-edited following the official documentation for total control
- Auto-generated using an online configuration tool that guides you through customizing your Demi environment visually
This means every project can feel like its own language — without forking or modifying Demi itself.
Why this is Different
- Custom ISA – Demi ISA (D-ISA) is our own low-level assembly language, portable across targets and designed to be human-readable.
-
Full toolchain in one binary –
demi
acts as compiler, assembler, interpreter, and linker:
demi -I file.dem # Interpret Demi source
demi -c file.dem -o file # Compile to native executable
demi -A file.dasm -O lib # Assemble Demi ISA to a library/object
- Independent binary formats – We’ll support ELF, PE, and Mach-O natively — no system compilers required.
- Future JIT – Switch between interpreted and compiled code at runtime.
Important Note – We’re at the Very Start
Right now, Demi is in an extremely early stage:
- We are actively developing the bytecode interpreter and the core shell of Virtcomp.
- About 95% of the features described above are not yet implemented — they represent the long-term vision for Demi.
- A contributor-friendly roadmap will be released in due time to guide newcomers through how they can get involved at each development stage.
Why Contribute Now?
You’ll be helping lay the foundation for:
- A from-scratch, self-contained language stack (parser → compiler → ISA → machine code)
- A platform for language innovation where syntax, runtime, and architecture are all under our control
- A long-term open-source project with room for deep optimization, new CPU backends, and cross-platform systems programming challenges
We’re looking for:
- Systems programmers with interest in compilers, assemblers, and linkers
- Low-level hackers who love CPU architectures, binary formats, and calling conventions
- Language designers who want to push the boundaries of language customization
Get Involved
- GitHub: https://github.com/bobrossrtx/demi
- Discord: https://discord.gg/vvhkhGkuGF
📢 Join us — we’re not just making a language, we’re making its world.
Top comments (0)