To be the most fair, Fennel 1.4 recently released with an `assert-repl` form that opens a repl when some assertion fails, in which you can inspect local variables, etc. That's getting closer to CL.
Fennel has a form `assert-repl` which will drop into the REPL wherever, if the condition fails. For writing games you can launch the REPL in the game loop if a keyboard button is pressed. But what you can't do, that I know of, is interrupt arbitrary execution and get a Fennel REPL. You'd probably need a lua debugger of some sort for that. I'm not that familiar with that though.
Short answer: I don’t know. That sounds like a good idea, but how would that access local variables in the caller (to inspect state)?
I remember the Lua C API exposes a lot of information, but I didn’t think it was accessible from scripts. Of course, it was a long time ago and I could have easily missed something at the time. Happy to be corrected!
Edit: you might also run into difficulties trying to redefine non-global functions to add the call to “repl”.
colingw|2 years ago
https://git.sr.ht/~technomancy/fennel/tree/1.4.0/item/change...
schemescape|2 years ago
dogprez|2 years ago
emidln|2 years ago
schemescape|2 years ago
I remember the Lua C API exposes a lot of information, but I didn’t think it was accessible from scripts. Of course, it was a long time ago and I could have easily missed something at the time. Happy to be corrected!
Edit: you might also run into difficulties trying to redefine non-global functions to add the call to “repl”.