Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

Why doesn Common Lisp have continuations?

common continuations LISP
0
Posted

Why doesn Common Lisp have continuations?

0

Continuations are a great theoretical tool; if a language has first-class, multiply-invocable continuations then one can build threads, exceptions, coroutines, and the kitchen sink on top. However, such continuations present a heavy burden for a Lisp implementer and may preclude or at least complicate other desirable optimizations. The ANSI standardizing committee decided that it would be better to specify the user-level control structure (CATCH, UNWIND-PROTECT, and so on) and let implementers choose whether to build those on top of continuations or not. If you need to play with continuations, they are standard in Scheme though make sure you pick a Scheme implementation that actually supports them because they don’t all.

0

Continuations are a great theoretical tool; if a language has first-class, multiply invocable continuations then one can build threads, exceptions, coroutines, and the kitchen sink on top. However, there is an implementation burden with continuations; supporting first-class, multiply invocable continuations complicates things tremendously for the Lisp implementor. The ANSI standardizing committee J13, mindful of this, took the view that it would be better to specify the user-level control structure (CATCH, UNWIND-PROTECT, and so on) and let implementors choose whether to build those on top of continuations or not. If you need to play with continuations, you should use a Scheme implementation.

0

Continuations are a great theoretical tool; if a language has first-class, multiply invocable continuations then one can build threads, exceptions, coroutines, and the kitchen sink on top. However, there is an implementation burden with continuations; supporting first-class, multiply invocable continuations complicates things tremendously for the Lisp implementor. The ANSI standardizing committee J13, mindful of this, took the view that it would be better to specify the user-level control structure (CATCH, UNWIND-PROTECT, and so on) and let implementors choose whether to build those on top of continuations or not.

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123