<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Thanks for the references! I will take a look.<br>
</p>
<p>-BenRI<br>
</p>
<div class="moz-cite-prefix">On 8/4/22 9:22 PM, David Christiansen
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAK7U1=15SDMipV53LvqWdWDJ6vq9oE8+TtWh+RG6RxAJh9j7EA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div class="gmail_quote">
<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 style="font-family:tahoma,sans-serif">
<p>QUESTION 2: if my quick scan is correct, none of the
papers mention the GHC technique of determining
untouchability by assigning "levels" to type
variables. Is there any written paper (outside the
GHC sources) that discusses type levels?</p>
</div>
<div style="font-family:tahoma,sans-serif">It is
disgracefully undocumented, I'm afraid. Sorry. Didier
Remy used similar ideas, in some INRIA papers I think.</div>
</div>
</blockquote>
<div><br>
</div>
<div>(I'm first answering now because I wasn't sure until this
comment that it was the same concept of levels that I know
of)</div>
<div><br>
</div>
<div>A couple of resources do exist for learning this idea.
There's a quite accessible description of the basic idea in
Peter Sestoft's book "Programming Language Concepts" from
about ten years ago. A collection of fancier and more
efficient versions are laid out by Oleg Kiselyov here: <a
href="https://okmij.org/ftp/ML/generalization.html"
moz-do-not-send="true" class="moz-txt-link-freetext">https://okmij.org/ftp/ML/generalization.html</a>
. A good source back to Remy is this one: <a
href="https://hal.inria.fr/inria-00077006/document"
moz-do-not-send="true" class="moz-txt-link-freetext">https://hal.inria.fr/inria-00077006/document</a></div>
<div><br>
</div>
<div>/David</div>
</div>
</div>
</blockquote>
</body>
</html>