Ru/IO
< Ru
В императивных языках вроде C++ нет разделения функций на чистые и имеющие побочные эффекты, любая функция рассматривается как потенциально "грязная". С одной стороны, это облегчает модификацию программы (любая чисто вычислительная функция может быть переделана в имеющую побочные эффекты), с другой стороны - усложняет понимание программы, её отладку и модификацию - какая-нибудь скромная функция sin может bvtnm совершенно нескромные побочные эффекты ;)
В отличие от них, в Haskell