PureScript comes to mind. It takes a hybrid approach to handling side effects (such as console IO, AJAX requests, random number generation, etc.).<p>I&#x27;d recommend checking out Phil Freeman&#x27;s article, which provides a nice overview along with many concrete examples [0]. Unless you&#x27;ve had prior exposure to Haskell, I wouldn&#x27;t get too hung up on the syntax--but if you&#x27;re curious, the PureScript learning resources are fantastic; I wish such resources existed when I was trying to learn Haskell! And frankly, these concepts require repeated exposure, practice, and some time to marinate in your brain before their usefulness&#x2F;power become clear.<p>[0] <a href="http:&#x2F;&#x2F;www.purescript.org&#x2F;learn&#x2F;eff&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.purescript.org&#x2F;learn&#x2F;eff&#x2F;</a><p>[1] <a href="http:&#x2F;&#x2F;www.purescript.org&#x2F;learn&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.purescript.org&#x2F;learn&#x2F;</a>