Ah, not sure I’ve ever used a language like that outside of stackless python. In C++/OCaml/Rust/Etc… once the stack frame is unwound anything that was existing before is now gone (although with some unsafe pointing munging you can sometimes get some old values, but don’t rely on that at all).
I’m not even sure how that is safe to do without heap-based frames. I’m guessing Ruby uses heap-based frames. The BEAM’s actors use stack-based frames so it is not safe to do such a mapping.
Except on the BEAM by the time the exception is unwound that stack frame is already gone and potentially even GC’d.
Except that stack frame is gone. If you want bindings from the thrown site then they need to be packaged up into the exception itself, which binding() would be great to use for, maybe make a library that has a dthrow/draise for a decorated throw and raise along with a dtry for a decorated exception handler for them? ![]()
What’s better-errors? Link please? I’m quite curious. ^.^


















