Arc Forumnew | comments | leaders | submitlogin
2 points by KirinDave 6099 days ago | link | parent

Is it just me, or are continuations in Seasside/Arc's web server just a manual and explicit way to recreate Erlang's cheap concurrency?

It seems like the erlang way is actually better (although Erlang's syntax is the mental equivalent of chewing on glass fragments).

Is there anything that continuations give arc that wouldn't be more suited to lightweight processes?



2 points by vsingh 6099 days ago | link

"Is it just me, or are continuations in Seasside/Arc's web server just a manual and explicit way to recreate Erlang's cheap concurrency?"

I'd say they're two facets of the same thing. Like objects and closures.

-----

1 point by dido 6099 days ago | link

I have news. Continuations can and are used to implement lightweight processes/green threads. Stackless Python is one example. See for instance here:

http://www.stackless.com/spcpaper.htm

Continuations are more general than lightweight processes. They can also be used to implement exceptions, coroutines, and Ruby-style generators, and many other interesting control abstractions besides.

-----

1 point by KirinDave 6099 days ago | link

I have news. That your news is not news.

I'm just curious why we'd explicitly be re-implementing lwp over and over for each unique use rather than having a more formal implementation.

It's great that the arc application server does this for us, but maybe it could be part of the language? It certainly gives a lot of flexibility and it's a no brainer for making programs shorter, since any sort of server would be rewriting it (and probably with many uniquely wrong choices).

-----