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.

Reply via email to