Rimu
Data structure template language.
Rimu is a template language for structured data and functional expressions.
Unlike other template languages, Rimu operates on data structures, not text.
Features
- Structured: The good parts of Yaml (opens in a new tab)
- Functional: The good parts of Lisp (opens in a new tab)
- Friendly: The good parts of Logo (opens in a new tab)
- Lightweight embed: Able to be embedded into a web or native app
- Helpful to debug: Error messages let you know exactly what went wrong
- Safe with untrusted input: No arbitrary code execution or unbounded iterations
Use cases
Rimu should be suitable for any situation where you want functional data or expressive configurations.
- Programmatic user: when you want to give users a friendly and expressive sandbox for making things with a DSL, almost like Logo (opens in a new tab) or Scratch (opens in a new tab).
- Programmatic configuration: when your infrastructure-as-code (Kubernetes (opens in a new tab), Terraform (opens in a new tab), NixOps (opens in a new tab)), declarative package managers (Nix (opens in a new tab)), or build systems (Bazel (opens in a new tab)) are complex enough to need functional config generation.
The author Mikey (opens in a new tab), for Village Kit (opens in a new tab), is motivated by the "programmatic user".
Stability
The Rimu language is experimental.
If you need stability, see related projects.
Have a play
Playground: play.rimu.dev (opens in a new tab)