Re:The History of Standard ML [audio]
by JoelMcCracken on Tuesday July 13, 2021 @02:57PM
(#27824778)
monadic IO is basically a type of effect system.
the big issue is that you have to do a LOT of complex shuffling of types and values in order to deal with effects.
You can actually avoid a ton of this by thinking about purity in a less expression-level way, like how Koka does it. And, I think I'd probably try implementikng something like it (or eff) in my language.
You can always replicate laziness by making your own thunks. But this just isn't as convenient.
the big issue is that you have to do a LOT of complex shuffling of types and values in order to deal with effects.
You can actually avoid a ton of this by thinking about purity in a less expression-level way, like how Koka does it. And, I think I'd probably try implementikng something like it (or eff) in my language.
You can always replicate laziness by making your own thunks. But this just isn't as convenient.