<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 3, 2020 at 2:18 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>> on <i style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium">Tue Sep 1 21:18:40 UTC 2020, Richard Eisenberg wrote:</i><span style="font-family:Arial,Helvetica,sans-serif"></span></div>> <span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap">I see the core idea as a fairly straightforward generalization of the
> "Partial Type Constructors" work -- except that I wouldn't phrase any of
> this as "floating out".</span></div></blockquote><div><br></div><div>Heh heh as a wee sidenote to the idea of type synonyms/datatypes making their contexts available, as you put it</div><div><br></div><div><pre style="white-space:pre-wrap;color:rgb(0,0,0)">| > So, the occurrence of Point a causes a Num a constraint to arise. These Num a constraints then get put into the type.</pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><br></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)">The 1991 Haskell report that dropped type synonym contexts and specified datatype contexts as we now know them, left something under-specified. SPJ/GHC interpreted it one way, Mark P. Jones/Hugs interpreted differently. It didn't come to light until the H98 report:</pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><a href="http://code.haskell.org/~dons/haskell-1990-2000/msg04066.html">http://code.haskell.org/~dons/haskell-1990-2000/msg04066.html</a><br></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)">"Phil (Wadler), Mark (P. Jones), Jeff (Lewis)" (and Erik Meijer later in the thread) preferred Hugs's approach, so that went into the standard and into GHC. Phil said "`redundant pollution' is exactly the effect I want to achieve!".</pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><br></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)">AntC</pre></div></div></div>