Great! That was pretty fast :)<div><br></div><div>Are you going to update invertible-syntax to use partial-isomorphisms-0.2?<br><br><div class="gmail_quote">2011/2/5 Tillmann Rendel <span dir="ltr">&lt;<a href="mailto:tillmann@rendel.net">tillmann@rendel.net</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">Hi Ozgur,<br>
<br>
Ozgur Akgun wrote:<br>
</div><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I&#39;ve already implemented a toy example and it worked great. Now I am trying<br>
to use your library in a more serious piece of code, and I&#39;ve realised that<br>
defineIsomorphisms doesn&#39;t support record constructors. To be precise, you<br>
handle the case for NormalC in the code, however you do not handle RecC. I<br>
don&#39;t think this will be a difficult thing to add. Is there any reason for<br>
you not to support RecC?<br>
</blockquote>
<br></div>
No reason at all. I just generalized the Template Haskell macros. They now support:<br>
<br>
  * newtypes<br>
  * infix constructors<br>
  * record constructors<br>
<br>
Infix constructors are only support by constructorIso, though, not by defineIsomorphisms, because I can&#39;t think of a good automatic naming scheme. Suggestions welcome.<br>
<br>
The code is on hackage.<br>
<br>
There are still some constructors which are not supported: constructors of GADTs as well as data or newtype instances, and constructors with existentials. I would need to think about typing issues before supporting these.<br>
<font color="#888888">
<br>
  Tillmann<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Ozgur Akgun<br>
</div>