3 ms·
Of what use is this distinction, especially when zero languages fall within its definition? Honestly.
by felixgallo 12y ago
Of what use is this distinction, especially when zero languages fall within its definition? Honestly.
- lomnakkus 12y agoHm? Haskell is purely functional. (Alright, you can theoretically use unsafeCoerce and unsafePerformIO, but in practice it doesn't actually happen.)
- felixgallo 12y agoCan you please point me to any real-world Haskell program that is purely functional? I am interested in seeing what a program without I/O looks like.
- lomnakkus 12y agoAll of them. Remember that "IO a" is just a value. :) It's really the "interpreter" of the IO monadic values which causes all the side effects. I am aware that there are some issues with this interpretation, but if you want to get pragmatic it's really a question of X% pure/(100-X)% impure while keeping X as close to 100% as possible. Haskell can do that for X arbitrarily close to 100% (depending on how much abstraction/effort you're willing to go through).