Haskellでは、モナド(''Monad'')型と構文糖衣を利用して参照透過性を保ったまま手続き型的な表現を可能にしている.
、