It all comes down to the programming paradigm in which the continuations are expressed. In our language continuations fit intuitively within the normal ways in which computation happens, whereas in a language like Scheme continuations are "abnormal" relative to run-of-the-mill Scheme concepts. Continuations were never an original goal for me and implementing them was sort of an accident – while looking at the compiler code one day I realized if I switched a couple fields I had continuations. It was only later that I learned what a powerful primitive they are for building distributed systems.
That's about as much illumination as I can give without showing example code. On Wednesday, June 9, 2021 at 5:45:16 PM UTC-10 tbald...@gmail.com wrote: > On Wed, Jun 9, 2021 at 6:14 PM Nathan Marz <natha...@gmail.com> wrote: > >> Continuations in our language are expressed very differently than has >> existed before (e.g. like in Scheme). They fit intuitively within the >> overall paradigm our language implements. Far from being complex or hard to >> comprehend, continuations are the key construct that enables us to avoid >> mountains of complexity that exist otherwise in distributed systems. I know >> this from personal experience building distributed systems in the past. The >> degree to which continuations help write asynchronous, reactive, and >> parallel code is huge. It would be clear if you saw the language in action, >> but we're keeping it under wraps for now. >> > > Could you expound on that for those of us who are familiar with > continuations in many forms, and languages? While delimited, multi-prompt, > multi-shot continuations are certainly helpful in reducing complexity > compared to traditional full continuations, they still result in spaghetti > code unless coupled with some sort of typing and/or algebraic effect > system. Most research in this space shows some promise, so I’m interested > in seeing how you’ve solved the many well documented problems with these > approaches. > > -- > “One of the main causes of the fall of the Roman Empire was that–lacking > zero–they had no way to indicate successful termination of their C > programs.” > (Robert Firth) > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/915e2e8a-58eb-4ba8-9842-a1a5755bb307n%40googlegroups.com.