Ken,<br><br>Thanks for the references! Have two-level types been applied to parser generation?<br><br>Best wishes,<br><br>--greg<br><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">

Greg Meredith &lt;<a href="mailto:lgreg.meredith@biosimilarity.com" target="_blank">lgreg.meredith@biosimilarity.com</a>&gt; wrote in article &lt;<a href="mailto:5de3f5ca0712111100l79ec280fl1d828b12125abbdc@mail.gmail.com" target="_blank">
5de3f5ca0712111100l79ec280fl1d828b12125abbdc@mail.gmail.com
</a>&gt; in gmane.comp.lang.haskell.cafe:<br>&gt; Here is an idea so obvious that someone else must have already thought of it<br>&gt; and worked it all out. Consider the following grammar.<br><br>Hello!<br><br>If I understand your basic idea correctly, it is to split a recursive
<br>data type into two parts, a non-recursive type constructor and a<br>knot-tying recursive type. &nbsp;This idea has been christened &quot;two-level<br>types&quot; by<br><br> &nbsp; &nbsp;Tim Sheard and Emir Pasalic. 2004. &nbsp;Two-level types and
<br> &nbsp; &nbsp;parameterized modules. &nbsp;Journal of Functional Programming<br> &nbsp; &nbsp;14(5):547-587.<br><br>The idea dates earlier, to initial-algebra semantics and &quot;functional<br>programming with bananas and lenses&quot;:<br><br>

 &nbsp; &nbsp;Mark P. Jones. 1995. &nbsp;Functional programming with overloading and<br> &nbsp; &nbsp;higher-order polymorphism. &nbsp;In Advanced functional programming:<br> &nbsp; &nbsp;1st international spring school on advanced functional programming<br> &nbsp; &nbsp;techniques, ed. Johan Jeuring and Erik Meijer, 97-136. &nbsp;Lecture
<br> &nbsp; &nbsp;Notes in Computer Science 925.<br> &nbsp; &nbsp;<a href="http://web.cecs.pdx.edu/%7Empj/pubs/springschool.html" target="_blank">http://web.cecs.pdx.edu/~mpj/pubs/springschool.html</a><br><br> &nbsp; &nbsp;Erik Meijer, Maarten Fokkinga, and Ross Paterson. 1991. &nbsp;Functional
<br> &nbsp; &nbsp;programming with bananas, lenses, envelopes and barbed wire. &nbsp;In<br> &nbsp; &nbsp;Functional programming languages and computer architecture: 5th<br> &nbsp; &nbsp;conference, ed. John Hughes, 124-144. &nbsp;Lecture Notes in Computer<br> &nbsp; &nbsp;Science 523.
<br> &nbsp; &nbsp;<a href="http://research.microsoft.com/%7Eemeijer/Papers/fpca91.pdf" target="_blank">http://research.microsoft.com/~emeijer/Papers/fpca91.pdf</a><br><br>Cheers,<br> &nbsp; &nbsp; &nbsp; &nbsp;Ken<br></blockquote><br>Best wishes,<br>
<br>
--greg<br clear="all"><br>-- <br>L.G. Meredith<br>Managing Partner<br>Biosimilarity LLC<br>505 N 72nd St<br>Seattle, WA 98103<br><br>+1 206.650.3740<br><br><a href="http://biosimilarity.blogspot.com">http://biosimilarity.blogspot.com
</a>