3 ms·
AFAIK the E language http://erights.org/index.html http://erights.org/index.html influenced several other people and projects like Twisted Python and Midori, wh
by abecedarius 7y ago
AFAIK the E language http://erights.org/index.html http://erights.org/index.html influenced several other people and projects like Twisted Python and Midori, which influenced the now-popular deployments like Javascript. (I followed E in the 90s but not so much the other projects.) There's a sketch of E's history at http://erights.org/history/index.html http://erights.org/history/index.html but it's mostly stubs there. They apparently invented promises independently of Liskov, while working on Xanadu: http://erights.org/elib/distrib/pipeline.html http://erights.org/elib/distrib/pipeline.html
- kragen 7y agoRight, and MarkM is on the ECMAScript committee. Futures I think are about 20 years older, maybe from MIT. P.S. sorry so late answering your mail!
- abecedarius 7y agohttps://en.wikipedia.org/wiki/Futures_and_promises https://en.wikipedia.org/wiki/Futures_and_promises is quite detailed and looks good. I'm sure MarkM & company knew of futures, so I should've mentioned them. (I owe you mail too.)
- kragen 7y agoAha, Baker and Hewitt, 1977. I didn't realize Friedman had defined "promises" in 1976; I wonder if they're the same as E promises? (Which are almost precisely the same as ECMAScript promises.) I was terribly remiss not to mention Dojo, a popular JS toolkit which got its promises from Twisted, which of course got them from E, though Twisted modified them a bit. I don't know how it slipped my mind.
- abecedarius 7y agoI haven't read the Friedman/Wise paper. Most likely those were futures? They were doing FP work around then, like https://help.luddy.indiana.edu/techreports/TRNNN.cgi?trnum=TR44 https://help.luddy.indiana.edu/techreports/TRNNN.cgi?trnum=T... (I seem to remember reading another paper of theirs which included racing suspensions till one of them completed, which would be more like futures than the streams of this paper. But if so I'm forgetting where.) I get the impression E promises had a nicer design than JS's for handling errors -- but that's also a vague memory and I never really learned JS's.