raulraja
11/04/2018, 7:14 PMTry { "x".toInt } // impure because `x.toInt` gets evaluated even if `Try` controls exceptions.
IO { "x".toInt } // pure because IO is a pure value and you can defer evaluation until you are ready to evaluate the entire program composition