26 Sep
2001
26 Sep
'01
12:39 p.m.
"Manuel M. T. Chakravarty" wrote:
* I am not a big fan of introducing an extra monad (`GUI' in this case). It can easily become a pain in programs that do a lot of "normal" IO as you have to lift all IO functions to GUI.
Shouldn't GUI be a typeclass (as a subclass of Monad), with IO being an instance of it? This gives the following benefits: o "Pure" GUI functions can reflect this in their type. i.e. (GUI g) => g () o IO functions can use GUI features directly without lifting. o "Pure" GUI functions are implicitly usable in the IO monad They "are" IO functions. Regards, Matt