A programming language that transpiles to multiple platforms using customizable templates, enabling single-source code generation.
Zolang is a programming language specifically designed for generating code across multiple platforms using customizable Stencil templates. It allows developers to write model definitions and basic logic once, then transpile them into languages like Swift, Kotlin, and Python, maintaining a single source of truth.
Developers working on multi-platform projects who need consistent model layers across different programming languages, such as mobile (Swift/Kotlin) and backend (Python) stacks.
Zolang reduces duplication and synchronization effort by providing a lightweight, template-driven approach to code generation, enabling rapid support for new target languages with minimal overhead.
A programming language for generating code for multiple platforms
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses customizable Stencil templates to transpile Zolang code into multiple languages like Swift, Kotlin, and Python, enabling a single source of truth for model definitions across tech stacks.
Adding new target languages is quick; the README notes it took about an hour to create templates for Kotlin and Swift, making it flexible for diverse projects.
Includes a `watch` action that automatically rebuilds code on source file changes, speeding up iteration during model development.
Features `raw` and `only` statements allow embedding target-language snippets and conditional compilation, providing control over code generation for different platforms.
The README admits that templating becomes slow quickly, restricting the amount of code feasible for Zolang development and making it unsuitable for large codebases.
Lacks a standard library, type checking, and advanced constructs like for loops; it's not a general-purpose language, so complex logic must be handled elsewhere.
Code generation relies entirely on user-provided Stencil templates; out-of-the-box support is minimal, requiring custom work for unsupported languages or specific needs.