ABSTRACT

This Quarantine style is inspired by this design philosophy and Haskell’s IO monad: it is a flat-out quarantine of all IO operations. A final comment about whether this style really achieves its ultimate purpose of minimizing IO. Clearly, it falls short. Programmers can still write programs with as much IO as with any other style, just as we did for term frequency. The issue of IO being problematic goes well beyond designing programs at the small scale. In fact, its problematic nature is more visible in large distributed systems, where disk access, network latency and server load can have a tremendous effect on the user experience. Monads were brought to programming languages in the early 1990s in the context of the Haskell programming language. IO was the main reason why they were introduced, as IO has always been a contentious issue in pure functional languages.