<div dir="ltr">I see. Thank you.<div><br></div><div>Any anyway I could use (MonadIO m) here, in Nothing data type?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 28, 2014 at 3:47 PM, Roman Cheplyaka <span dir="ltr"><<a href="mailto:roma@ro-che.info" target="_blank">roma@ro-che.info</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* Magicloud Magiclouds <<a href="mailto:magicloud.magiclouds@gmail.com">magicloud.magiclouds@gmail.com</a>> [2014-07-28 13:46:53+0800]<br>

<div class="">> Hi,<br>
><br>
>   For code like below, how to make it compilable?<br>
><br>
> data EventHandlers = forall m. MonadIO m => EventHandlers { onDeleteWindow<br>
> :: Maybe (m ()) }<br>
> instance Default EventHandlers where<br>
>   def = EventHandlers Nothing<br>
<br>
</div>GHC has to store some MonadIO dictionary in the existential type, but it cannot<br>
figure out which dictionary to store (it can be any).<br>
<br>
You can tell it which one to use by supplying a type annotation, e.g.:<br>
<br>
  def = EventHandlers (Nothing :: Maybe (IO ()))<br>
<span class="HOEnZb"><font color="#888888"><br>
Roman<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>竹密岂妨流水过<br>山高哪阻野云飞<br><br>And for G+, please use magiclouds#<a href="http://gmail.com" target="_blank">gmail.com</a>.
</div>