Yassine Elouafi
1 min readMay 4, 2016

--

Agree for the Saga confusion. Even in the backend it seems to be used for meanings different than the original as you mentioned (the same can be observed for FRP: discrete event streams vs FRP as specified by its original author Conal Elliott, yet no one — except the author — seems to complain on this). As for the origin of the name redux-saga you can consult this discussion : https://github.com/paldepind/functional-frontend-architecture/issues/20#issuecomment-158694062

Do not agree actually on CSP. While v0.10 actually introduces channels in redux-saga their semantics are different from CSP channels. In CSP puts are synchronous (blocking) while in redux-saga are not (much like in the actor model). Also buffering is different in the 2 models: in CSP buffering is used to unblock the sender while in redux-saga buffering is a simple mechanism for message queueing.

CSP is a more fundamental model of computation (like turing machines, DFAs, Actor model …) which defines a formal algebra for concurrent systems https://en.wikipedia.org/wiki/Communicating_sequential_processes#Informal_description. What defines CSP is not the API exposed (take, put: there is no take/put in the formal model) but rather its formal semantics

--

--