Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
OCaml defunctorization and other optimizations
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-05-20 (12:04)
From: Török_Edwin <edwintorok@g...>
Subject: Re: [Caml-list] OCaml defunctorization and other optimizations
On 05/20/2010 02:40 PM, Julien Signoles wrote:
> Hello,
> 2010/5/20 Török Edwin < <>>
>     On 05/20/2010 11:41 AM, Julien Signoles wrote:
>     I think that'll have to be someone else than me, as I consider myself
>     just a beginner in OCaml.
>     However if you think that implementing AST transforms would be possible
>     for a beginner (in OCaml, I do have experience with compilers), I'm
>     willing to give it a try.
> I wrote ocamldefun during my master project where I done both the theory
> and the implementation of this tool: I was a beginner both in ocaml and
> in functional programming since I only wrote a mini-compiler in ocaml
> during my studies without any lecture on functional programming.

That sounds encouraging.

> But ok:
> there were ocaml experts in my research team which provide me some
> wonderful helps :-).
>     I think that if there is a defunctorizer written it should live in the
>     OCaml distribution itself (maybe in contrib/).
> Ocaml is not Coq: there is no such "contrib/" directory ;-).

OK, I haven't payed much attention to the structure of the OCaml
package, I just assumed there was such a directory.

> As far as I
> know, the Ocaml development team does not accept so much external
> contributions (for many good reasons).

OK, then it'll have to be an external tool (if I decide to write it
after all).

>     I certainly don't intend to write an external tool that uses OCaml
>     internal modules.
> That is what ocamldefun actually does.

Yes, but I was thinking of something that is using an exported and
documented interface (like camlp4).
I think it would be easier to keep up with new OCaml versions that way.

Best regards,