Great! That was pretty fast :)

Are you going to update invertible-syntax to use partial-isomorphisms-0.2?

2011/2/5 Tillmann Rendel <tillmann@rendel.net>
Hi Ozgur,

Ozgur Akgun wrote:
I've already implemented a toy example and it worked great. Now I am trying
to use your library in a more serious piece of code, and I've realised that
defineIsomorphisms doesn't support record constructors. To be precise, you
handle the case for NormalC in the code, however you do not handle RecC. I
don't think this will be a difficult thing to add. Is there any reason for
you not to support RecC?

No reason at all. I just generalized the Template Haskell macros. They now support:

 * newtypes
 * infix constructors
 * record constructors

Infix constructors are only support by constructorIso, though, not by defineIsomorphisms, because I can't think of a good automatic naming scheme. Suggestions welcome.

The code is on hackage.

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.

 Tillmann



--
Ozgur Akgun