<div dir="ltr"><div dir="ltr"><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 25, 2019 at 6:24 PM Anthony Clayden <<a href="mailto:anthony_clayden@clear.net.nz">anthony_clayden@clear.net.nz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>   ...</div></div></div></div></div></blockquote><div><br></div><div>Errk. pasted the wrong example. The code that works is </div><div><br></div><div><pre class="gmail-code gmail-highlight" lang="plaintext"><span id="gmail-LC1" class="gmail-line" lang="plaintext">    class F a b | a -> b</span></pre><pre class="gmail-code gmail-highlight" lang="plaintext"><span id="gmail-LC2" class="gmail-line" lang="plaintext">    instance F Int Bool</span></pre><pre class="gmail-code gmail-highlight" lang="plaintext"><span class="gmail-line" lang="plaintext"><br></span></pre><pre class="gmail-code gmail-highlight" lang="plaintext"><span id="gmail-LC4" class="gmail-line" lang="plaintext">    class D a where { op :: (F a b) => a -> b } </span></pre><pre class="gmail-code gmail-highlight" lang="plaintext"><span id="gmail-LC5" class="gmail-line" lang="plaintext">    instance (TypeCast Bool b') => D Int where { op _ = typeCast True }</span></pre><pre class="gmail-code gmail-highlight" lang="plaintext"><span class="gmail-line" lang="plaintext"><br></span></pre><pre class="gmail-code gmail-highlight" lang="plaintext"><span class="gmail-line" lang="plaintext">That dangling `b'` in the constraint is weird. Anyhow: compiles in Hugs, doesn't in GHC. Unless someone here can persuade it?</span></pre><pre class="gmail-code gmail-highlight" lang="plaintext"><span class="gmail-line" lang="plaintext"><br></span></pre></div><div>AntC </div></div></div>