Rimu is a friendly template language for structured data and functional expressions.
Create parametric data using the best of Yaml structures and Lisp functions.
🌿 Features
- Structured: Structured block and flow data of Yaml
- Functional: Functional expressions of Lisp
- Educational *: Inspired by Logo to be accessible to beginner programmers
- Embeddable: Lightweight embed into web or native apps
- Debug-friendly *: Clear error messages when something is wrong
- Secure: Safe with untrusted input
* Work in progress
💡 Use Cases
Rimu enables user-friendly expressive domain-specific languages :
- Programmatic users: When you want to give users an expressive language for building things, like OpenSCAD .
- Educational code: When you want to teach beginners how to program, like Logo or Scratch .
- Creative code: When you want to give artists and creators a playground for interactive and generative art.
- Complex configs: When your infrastructure-as-code (Kubernetes , Terraform , NixOps ), declarative package managers (Nix ), or build systems (Bazel ) are complex enough to need functional config generation.
- Expressive configs: When you want your system’s configuration to be more expressive than static data.
The author Mikey (as part of Village Kit ) is motivated by the “programmatic user”, which may inform future developments.
🎮 Try Rimu!
Playground: play.rimu.dev
📌 Stability
The Rimu language is in the experimental phase.
If you want to participate in mad science, please join us! 🧪
For more stable alternatives, see related projects.
💬 Community & Contributions
We believe in learning and growing together.
Join the conversation, share your insights, ask questions, and help evolve Rimu in our Matrix Chat or GitHub Discussions .
Contributions to the development and documentation of Rimu are always welcome!
