3 ms·
Pure functional languages model IO with monads, which are very much functional (function composition within a context) and IMO easy to use. This ease of use is
by aranchelk 4y ago
Pure functional languages model IO with monads, which are very much functional (function composition within a context) and IMO easy to use. This ease of use is probably why JS adopted the pattern with native promises -- async/await. They fit well into otherwise imperative code and people seem to to like them.
- tsimionescu 4y agoPure functional languages can very well have normal IO. It's Haskell's lazyness that mostly forced it to use monads for IO, for better or for worse. In a pure FP language with strict evaluation semantics, IO can easily be implemented as a pure function foo -> (World, Input) -> (World, Output).
- tome 4y agoThat's not true at all. If you could use that implementation in a strict language (which you can't) you could equally-well use it in Haskell.