Affモナド
asynchronous effect monad
非同期処理をする
liftEffect
makeAff :: forall a. ((Either Error a -> Effect Unit) -> Effect Canceler) -> Aff a
launchAff_
https://pursuit.purescript.org/packages/purescript-aff/3.1.0/docs/Control.Monad.Aff
https://github.com/purescript-contrib/purescript-aff
https://blog.drewolson.org/asynchronous-purescript
AffですべてのPromises/Generatorsを過去にする/そして何故我々は作用をモナドで抽象化すべきなのか - Qiita
良い記事
PureScriptを知らなくてもJSを知っていればたぶん読める