On Tue, Jan 4, 2011 at 12:23 PM, Balazs Komuves <[email protected]> wrote:

>
> Hi,
>
> On Tue, Jan 4, 2011 at 11:40 AM, John Lato <[email protected]> wrote:
>
>> I've been using the CCA package with good results so far.  Several people
>> (including myself) appear to have tried performing the CCA transformations
>> with a GADT rather than Template Haskell, without much success.  Although
>> the code is transformed to normal form, performance isn't good.  I suspect
>> that the transformations must be done in a pre-compilation stage in order to
>> present the normal form to GHC for the optimizer to produce the best
>> results.
>>
>
> I'm also working on this at the moment, and I believe the reason for the
> not-so-good performance is the large amount
> of variable "juggling" introduced by the CCA transformations (which I guess
> GHC will largely optimize out when compiling
> via Template Haskell). Unfortunately I don't see how to really solve this
> without just-in-time compiling; even if you optimize
> the juggling, you still have to synthetise the necessary juggling functions
> runtime.
>
> Balazs
>

That was my conclusion too, which is why I gave up on this approach.

I would really like to see something like MetaOCaml for Haskell, which would
I think be ideal for this application.

John
_______________________________________________
haskell-art mailing list
[email protected]
http://lists.lurk.org/mailman/listinfo/haskell-art

Reply via email to