u/Byson94_dev

NBCL: Embedded configuration language with scripting
▲ 6 r/rust

NBCL: Embedded configuration language with scripting

https://nbcl-lang.github.io/

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

u/Byson94_dev — 5 days ago

Hey all! This is a follow up to an earlier post of mine which show cased ewwii, a widget system which is a hard fork of eww.

In my previous post, most of you had trouble with the learning curve as ewwii used to be configurable only in rhai. But now with the addition of the stable plugin API in 0.6.0, it can now be configured in any language out there!

I made a plugin called yucky-ewwii to showcase the new plugin system and it is working better than expected. So, I wanted to share it here because with the help of yucky-ewwii, y'all can benefit from all the features of ewwii including the Gtk4, hardware acceleration, active maintenance, plugin system, and more.

Project: https://github.com/Ewwii-sh/ewwii
Website: https://ewwii-sh.github.io/

u/Byson94_dev — 21 days ago