Does everyone roll their own when they need to embed logic expressions in their yamls?
It's mature and fully sandboxed.
https://news.ycombinator.com/item?id=23164614 https://news.ycombinator.com/item?id=28255116
If you don't care about running common lisp code, you can get up and running in janet more quickly.
In terms of ease of embedding in C code, a comparison of different languages IME would be Lua/Fennel > Janet > Chibi Scheme > Guile Scheme > ECL.
hello:
@rpath/libecl.21.2.dylib (compatibility version 21.2.1, current version 0.0.0)
/opt/local/lib/libgmp.10.dylib (compatibility version 15.0.0, current version 15.1.0)
/opt/local/lib/libgc.1.dylib (compatibility version 7.0.0, current version 7.2.0)
/opt/local/lib/libffi.8.dylib (compatibility version 10.0.0, current version 10.2.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)
Depending on how many dynamically linked libraries you have to load, this can result in lower runtime performance than simply using e.g. Clozure CL, which has pretty fast startup time (approx. 13 ms on my machine) but much larger binaries since the binary is essentially self-contained and contains a whole CL implementation, runtime, kernel, etc. inside.If I'm not mistaken, ECL is (one of a few) embeddable languages that can generate a C code and provide real threads, even if used as a library.
Thanks to the dev team :)