On Sat, May 15, 2010 at 22:19, Oscar Finnsson
<oscar.finnsson@gmail.com> wrote:
(...)
I guess my questions are:
1. Is it possible to combine GADTs with Scrap your Boilerplate?
Your GADT encodes an existential datatype. The closest attempt to encode existential types in (something like) SYB that I know of is in Section 5.3 of Alexey's PhD thesis [1]. Having said that, he uses the spine view, which makes the generic view in SYB explicit, but this has never been packaged as a library. So I'm afraid the answer is "no". The link above might still be useful for your understanding of why this is a complex problem, though.
Cheers,
Pedro
[1]
http://igitur-archive.library.uu.nl/dissertations/2009-0518-200422/UUindex.html