<div dir="ltr"><div>GHC 7.8.3 here.</div><div><br></div>Hmm, on second inspection I believe that the Bool reference is to the top-level expression, not the list items after all.<div><br></div><div>I don't seem to get any defaulting behaviour either when not using GHCi. This seems to indicate that the extended interactive type defaulting is coming into play:</div><div><br></div><div><a href="https://downloads.haskell.org/~ghc/7.8.2/docs/html/users_guide/interactive-evaluation.html">https://downloads.haskell.org/~ghc/7.8.2/docs/html/users_guide/interactive-evaluation.html</a><br></div><div><br></div><div>I'd guess that this means that the () default is being used. -Wall seems to indicate that this is in-fact the case:</div><div><br></div><div><br></div><div><div>[Prelude] λ [] == []</div><div><br></div><div><interactive>:2:4: Warning:</div><div>    Defaulting the following constraint(s) to type ‘()’</div><div>      (Eq t0) arising from a use of ‘==’</div><div>    In the expression: [] == []</div><div>    In an equation for ‘it’: it = [] == []</div><div>True</div></div><div><br></div><div><br></div><div>Hope this helps.</div><div><br></div><div><br></div><div> - Lyndon</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 10, 2015 at 1:42 PM, Rustom Mody <span dir="ltr"><<a href="mailto:rustompmody@gmail.com" target="_blank">rustompmody@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Tue, Mar 10, 2015 at 8:07 AM, Lyndon Maydwell <span dir="ltr"><<a href="mailto:maydwell@gmail.com" target="_blank">maydwell@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>This looks like a great opportunity to try out the new holes functionality:<div><br></div><div><div>[Prelude] λ [] == _what</div><div><br></div><div><interactive>:3:7:</div><div>    Found hole ‘_what’ with type: [t0]</div><div>    Where: ‘t0’ is an ambiguous type variable</div><div>    Relevant bindings include it :: Bool (bound at <interactive>:3:1)</div><div>    In the second argument of ‘(==)’, namely ‘_what’</div><div>    In the expression: [] == _what</div><div>    In an equation for ‘it’: it = [] == _what</div></div><div><br></div><div><br></div><div>Looks like it defaults to [Bool]!</div><div><br></div><div>Correct me if I'm wrong :)</div><span dir="ltr"></span></div></blockquote><div><br></div></span><div>Thanks Lyndon.<br></div><div>But on my (debian testing) ghc I get:<br><br></div><div>Prelude> [] == _what<br><br><interactive>:2:7: Not in scope: `_what'<br><br></div><div>[ghc 7.6.3]<br><br></div><div>And my main question is the second one :<br></div><div>For pedagogic purposes I want to get the error -- Whats the (family of)<br></div><div>related options?<br></div><div> <br></div></div>
</div></div>
</blockquote></div><br></div>