neuroplast.ioHuman-machine interface research

cel-lite

What if: CEL was light enough to run on every keystroke?
Status: released, used in myelin and plx

I wanted keybindings with when conditions, like VS Code and Zed have, and CEL is a great language for that. But cel-go pulls protobuf, ANTLR and a bunch more modules into your program, and my plx config only asks things like mode == 'normal' && !pane.zoomed. That's a lot of weight for one line.

So I wrote cel-lite:

  • no dependencies, just the standard library
  • builds with TinyGo and runs in WebAssembly
  • compiles an expression in a microsecond or two, evaluates it in tens of nanoseconds
  • what it doesn't implement, it refuses by name, so nothing quietly means something else

It's a subset of CEL. If you need all of it, cel-go is still the right choice.


neuroplast.io · github.com/neuroplastio

Starting the terminal…