Hi Mulhern,<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">I would like to teach a small section on polytypism/genericity in the &quot;functional programming using Haskell&quot; course I&#39;m teaching. I won&#39;t, though, unless I can assign an actual programming exercise in polytypic programming, however brief. Can anybody recommend a functioning compiler that I can reasonably require the students to use in doing this assignment? I am not up-to-date on the current state of research in this topic in Haskell and hope that some people on the list can help me out.</blockquote>

</div><br>There is of course Generic Haskell [1], which works. It is not being maintained anymore, but it still does what it was designed to do. There are plenty of publications to use for resources.<br><br>Currently, most of the work on datatype-generic programming generally ends up in libraries and not in language extensions. You can see quite a few on Hackage [2]. Many of them have links to publications for further study.<br>

<br>At Utrecht University, we have a master&#39;s course on Generic Programming [3]. That may be more than you want, but you can refer to our slides for further information. We also use lecture notes [4] for this course. They provide a pretty good introduction to a few libraries, LIGD, EMGM, and SYB.<br>

<br>Hope this helps! Let us know if you would like something else.<br><br>Regards,<br>Sean<br><br>[1] <a href="http://www.cs.uu.nl/research/projects/generic-haskell/">http://www.cs.uu.nl/research/projects/generic-haskell/</a><br>

[2] <a href="http://hackage.haskell.org/packages/archive/pkg-list.html#cat:generics">http://hackage.haskell.org/packages/archive/pkg-list.html#cat:generics</a><br>[3] <a href="http://www.cs.uu.nl/wiki/GP">http://www.cs.uu.nl/wiki/GP</a><br>

[4] <a href="http://www.cs.uu.nl/research/techreps/UU-CS-2008-025.html">http://www.cs.uu.nl/research/techreps/UU-CS-2008-025.html</a><br>