Thanks everyone for your replies.<div><br></div><div>I am not wedded to GADTs or really anything else. I am going to give the syntactic library a shot over the next few days and see if I can hack something together.</div><div>
<br></div><div>Thanks again for the papers and libraries.</div><div><br></div><div>Steve<br><br><div class="gmail_quote">On Wed, Nov 21, 2012 at 6:10 AM, Sean Leather <span dir="ltr">&lt;<a href="mailto:leather@cs.uu.nl" target="_blank">leather@cs.uu.nl</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote">On Wed, Nov 21, 2012 at 2:56 PM, Emil Axelsson wrote:<div class="im"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is one of the problem Syntactic aims to solve, but it requires you to use a different representation of expressions (for good or bad). If you want to keep your existing representation, then you have to use a generic programming library that supports GADTs. I know at least the Spine approach supports GADTs, but the library on Hackage seems too incomplete to be useful:<br>



<br>
  <a href="http://hackage.haskell.org/package/spine" target="_blank">http://hackage.haskell.org/<u></u>package/spine</a></blockquote><div><br></div></div><div>Just a comment on this library (since I put it up there). Yes, it is incomplete. It&#39;s only been used for students in a course. It is not intended for practical use.</div>


<div><br></div><div>Even if it were complete, the Type datatype is closed, meaning the library cannot be extended to support new types, which probably won&#39;t necessarily be that useful to you. The spine view works nicely as a model of SYB but not so nicely as a library for generic programming.</div>


<div><br></div><div>Regards,</div><div>Sean</div></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">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>
<br></blockquote></div><br></div>