4 ms·
How could you forget Erlang? It has been avoiding events for years and has done so with high success. Same with Haskell and Standard ML :)
by jlouis 12y ago
How could you forget Erlang? It has been avoiding events for years and has done so with high success. Same with Haskell and Standard ML :)
- lmm 12y agoI think of Erlang as an event-oriented system; actor messages do not necessarily receive exactly 1 reply (or any reply at all), which seems to be the critical property that the paper is talking about. Why do you say Erlang avoids events?
- pron 12y agoThe key point discussed in the article is blocking. Erlang processes, like Go's goroutines and Quasar fibers on the JVM block without sacrificing any of the performance associated with asynchronous callback-based styles. The article says that there is no problem with the thread abstraction, and blocking in particular -- there's just a problem with the implementation of kernel threads that makes blocking expensive. Callbacks, and the various attempts to make them more palatable (composable promises, monads), change the abstraction to get around implementation problems. Lightweight threads (or user-mode threads) simply fix the implementation, and preserve the threading/blocking abstraction.