I just finished reading Hell Is Other REPLs in Colin Okay’s SAVE-LISP-OR-DIE series. It’s an interesting look at Common Lisp, with perceptive comparisons to various other languages.
The article closes with this summary, making me wonder how IEx compares to the Common Lisp REPL:
… true interactive development is programming such that
- your program never crashes
- because it enters an interactive debugger
- where you never lose program state
- unless you choose to do so
- after a thorough inspection of state
- including the call stack
- and after you have tinkered, recompiled functions, and edited objects
- and after you have tried restarting the computation
- all while the live program is running, possibly remotely.
AFAIK, IEx supports most (if not all) of this. However, I don’t feel qualified to make a detailed assessment. I’d also be interested to hear folks’ thoughts on REPL capabilities and features that the list doesn’t mention.
Would anyone like to offer some clues and/or comments?