Hacker News new | ask | show | jobs
by thurn 5529 days ago
Would this be pretty easy to implement in a language with first class functions (albeit with more boilerplate) just by keeping a list of functions to be invoked before raising an exception?
2 comments

You can get most of the way there using such an approach, but it'll never feel quite "right" unless your language gives you lots of syntactic sugar to play with.

You've also got to be careful about how your handler stack interacts with threads and/or coroutines.

For an example that I think same up pretty well, but certainly not as elegant as the system built into lisp, check out my "withrestart" python module: https://github.com/rfk/withrestart

Yes, but you'd also need to fake dynamic scoping. Check out Red Daly's implementation of the CL condition system for JavaScript/Parenscript, it's only about 200 lines of code:

https://github.com/gonzojive/paren-psos/commit/6578ad223515d...