<div>Hi all, I made a little extension that makes it a bit easier to work with Multiplate, there&#39;s a detailed explanation here:</div><div><a href="http://hackage.haskell.org/package/multiplate-simplified">http://hackage.haskell.org/package/multiplate-simplified</a></div>

<div><br></div><div>However, there&#39;s still some biolerplate that could be eliminated but I can&#39;t seem to do it nicely. When writing a Multiplate instance one has define a method called mkPlate:</div><div><br></div>

<div> where</div><div> withProj = build $ getProjector undefined undefined</div><div><br></div><div><br></div><div>All the code necessary to test this is included at the end of the source of the modules&#39;s hackage page.</div>

Multiplate is a lightweight generic library for mutually recursive data types that won&#39;t make Conor lose his lunch.<br>
<br>
Multiplate is an alternative extension of the Uniplate/Compos core design to support mutually recursive datatypes in a way that is as powerful as Compos, almost as easy to use as Uniplate, and more portable than both of them.<br>

<br>
Multiplate does not require you to rewrite your data type, does not require run-time reflection, does not require GADTs, and does not even require multi-parameter type classes. It only requires rank 3 polymorphism.<br>
<br>
&lt;<a href="http://hackage.haskell.org/package/multiplate-0.0.1" target="_blank">http://hackage.haskell.org/package/multiplate-0.0.1</a>&gt;<br>
<br>
A more detailed paper is forthcoming, but the library is available to try right now.<br>
<br>
-- <br>
Russell O&#39;Connor &lt;<a href="http://r6.ca/" target="_blank">http://r6.ca/</a>&gt;<br>
``All talk about `theft,&#39;&#39;&#39; the general counsel of the American Graphophone<br>
Company wrote, ``is the merest claptrap, for there exists no property in<br>
ideas musical, literary or artistic, except as defined by statute.&#39;&#39;<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br></div></div>