Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Missing piece: Common Lisp continuable condition system.


More like restartable. You may be conflating it with continuations.


Copying my comment from the Lobste.rs thread (https://lobste.rs/s/az2qlz/epic_treatise_on_error_models_for...)

> Hi, author here, the title also does say “for systems programming languages” :)

> For continuations to work in a systems programming language, you can probably only allow one-shot delimited continuations. It’s unclear to me as to how one-shot continuations can be integrated into a systems language where you want to ensure careful control over lifetimes. Perhaps you (or someone else here) knows of some research integrating ownership/borrowing with continuations/algebraic effects that I’m unfamiliar with?

> The closest exception to this that I know of is Haskell, which has support for both linear types and a primitive for continuations. However, I haven’t seen anyone integrate the two, and I’ve definitely seen some soundness-related issues in various effect systems libraries in Haskell (which doesn’t inspire confidence), but it’s also possible I missed some developments there as I haven’t written much Haskell in a while.


You don’t need continuations to implement resumable errors. The trick is simply to not unwind the stack when an error happens.

http://axisofeval.blogspot.com/2011/04/whats-condition-syste...


Yes, I can see how if you view lifetime management as core to systems processing lisps might be unappealing to you.


You can use async to implement continuations, and async is very much included in quite a few 'systems languages'.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: