Compact, still readable
Remove repetitive ceremony, not meaning. Compression should make the maintained source easier to read and simpler to change.
BETA · SMALL LANGUAGES. OPEN POSSIBILITIES.
Your language, in a compact, readable form. Our goal is target language ↔ compact language translation, with the compact source as the source of truth: less repetition, simpler code, and extra expressive tools.
An open-source project by Mohamad Almousli
NanoLanguages aims to translate in both directions between an existing target language and a compact companion language. The compact form compresses repetitive syntax while staying readable, so it can be the code you maintain, review, and trust.
We’re not trying to replace existing languages. The goal is to simplify working with them: bring target-language code into a compact form, maintain that form, and translate it back for the target language’s tools and ecosystem.
Beyond shorter syntax, compact languages can add programmable macros, translation-time computation, and source transformations. Express a pattern or generate repetitive code when translating, while keeping the maintained source focused on intent.
This is the project direction, not a promise of finished bidirectional support. NanoLanguages is in beta, and NanoC is still being built.
Remove repetitive ceremony, not meaning. Compression should make the maintained source easier to read and simpler to change.
Macros and translation-time computation aim to capture patterns and generate boilerplate before code reaches the target toolchain.
Translate back to the target language and keep using its tools. The compact language is a companion, not a replacement.
02 / THE LANGUAGES
One language taking shape.
Still being built, in the open.
A compact companion for C, exploring readable source of truth with less ceremony and extra expressive tools. NanoC is still being built; the current site examples show NanoC → C output from a development snapshot.
Features under development; not a finished release.
+ <stdio.h>
f main() -> int
printf("Small source. Big ideas.\n")
return 0
03 / THE SYNTAX LAB
A current snapshot of the compact → target direction.
Experimental NanoC examples beside generated C; this demo does not translate C back to NanoC.
Loading example…
Loading example…
Examples couldn’t load. Try the NanoC playground ↗
Want to write your own? Explore the experimental NanoC playgroundI’m Mohamad Almousli. NanoLanguages is my exploration of compact, readable source of truth for existing languages, with translation in both directions and tools like macros and translation-time computation. NanoC is the first step, and it’s still being built. This whole project is in beta. The source is open. Come explore.
Build something small