You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While thinking about #2013, I figured that maybe we should look around for a replacement of JEXL. It feels like we're pretty much the only users, and sometimes it feels like it's not really a perfect fit for us.
Problems with JEXL:
Implementation differences between JS/Python
Type safety ("foo"|answer depends on the question type)
Debuggability is rather limited
Performance (at least in the backend impl)
As a replacement, I could think of using WASM instead, which is strictly defined and has runtimes for any place we need to run JEXL. This would allow us to share the full implementation between backend and frontend, with only the building-up of the input data structures being JS/Python specific.
A simple transpiler from JEXL or a JEXL-like language to any of the WASM formats would be required, but shouldn't be too hard I imagine - we could even steal the parsers/AST generator from existing implementations.
And maybe one of the WASM text representations would be good enough for "user interaction" in the form builder as well..
The text was updated successfully, but these errors were encountered:
While thinking about #2013, I figured that maybe we should look around for a replacement of JEXL. It feels like we're pretty much the only users, and sometimes it feels like it's not really a perfect fit for us.
Problems with JEXL:
"foo"|answer
depends on the question type)As a replacement, I could think of using WASM instead, which is strictly defined and has runtimes for any place we need to run JEXL. This would allow us to share the full implementation between backend and frontend, with only the building-up of the input data structures being JS/Python specific.
A simple transpiler from JEXL or a JEXL-like language to any of the WASM formats would be required, but shouldn't be too hard I imagine - we could even steal the parsers/AST generator from existing implementations.
And maybe one of the WASM text representations would be good enough for "user interaction" in the form builder as well..
The text was updated successfully, but these errors were encountered: