Would the Nim community find a BPMN compiler to be of value?
Something like:
import json
import bpmn
let routine = compile("sample.bpmn") # a macro that generates code from the BPMN file at compile-time
let myJson = %* {"processVariables": [{"name": "Bob"}]}
# assuming the "sample.bpmn" has a StartEvent called "hello"
var result = routine.hello(myJson)
echo $result
Essentially, at compile-time, the compile macro would read the file and convert it into nim-equivalent AST. Any ScriptTask with a script format of "nim" would have that code evaluated at compile-time also. Internally, the various steps would keep the variables in a common JSON document which initializes with a copy of the passed-in JSON document.
I'm not promising any such thing. Just thinking and curious.
It would be appealing to business units and larger organizations. Those are traditionally Java shops.
That said I'm not sure the Nim community can provide the kind of support they need (24 hours response time, etc ...) but you might be able to spin up a business out of it.
Regarding the AST generation, Synthesis might be helpful: https://github.com/mratsim/Synthesis