
NBCL: Embedded configuration language with scripting
Helo! I'm here to present this project of mine called "NBCL" which I've been working on for quite some time. NBCL is an embedded configuration language with scripting capabilities.
It is inspired by the blocky syntax in HCL and adds functions, loops, conditional statements, expressions, etc. on top of it. Basically, NBCL can both produce side effects like every scripting language and resolve into a clean configuration that is compatible with JSON, YAML, TOML, etc.
Here are some features of NBCL:
- Extremely fast and performant (see benchmark)
- Simple syntax
- Good error diagnostics
That said, I'd like to explain why I created this language instead of going for an existing solution like rhai or koto. And the answer to that is that I needed a real configuration language for a project of mine called ewwii, which is a widget system that needed a real, clean, simple, configuration syntax. Even after a lot of searching, I couldn't find any embedded language in the rust ecosystem that was made for configuration and had scripting capabilities. So the only option I had was to create my own.
I'd highly appreciate if y'all could try it out. Also make sure to leave your inquiries, I'm down to answer any questions you have.
Website: https://nbcl-lang.github.io/
GitHub: https://github.com/nbcl-lang/nbcl