Version française
Home     About     Download     Resources     Contact us    
Browse thread
camlp4
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Guillaume Yziquel <guillaume.yziquel@c...>
Subject: Re: [Caml-list] camlp4
Tiphaine Turpin a écrit :
> Andy Ray a écrit :
>> What should one do?
>>   
> Complaining on the list about lack of camlp4 documentation is a good
> start :-). To help you decide (and increase the pressure on the Ocaml
> team), I would like to mention some of the difficulties that I
> encountered when trying to understand camlp4 as a user:

I fully agree. I've been working on understanding Camlp4 recently to 
handle one of Mauricio Fernandez' library on relational algebras.

You can, eventually, if you take time, get to understan how everything 
works out. But that involves a lot of trial and error, and I still 
believe I do not have the full picture in mind.

I'd just keep two things in mind concerning camlp4:

-1- It's not hugely different from Camlp5. It is different, but not 
hugely, at least from the newcommer's point of view. So my advice is 
simply to work on an existing camlp4 extension, and to try groking with 
existing camlp5 documentation, while doing trials and errors the whole 
way long. It is painful, but it's doable.

-2- A good hands-on introduction, to be read in conjunction with 
up-to-date camlp4 code:

	http://martin.jambon.free.fr/extend-ocaml-syntax.html

Now, if someone, or a group of people, has the courage to update 
Martin's page to the current camlp4, that would be hugely helpful: I'm 
pretty sure there's quite a lot of people willing to use camlp4 that are 
simply laid back by the lack of documentation.

Concerning the functorial design of the source code of camlp4, I fully 
agree with Tiphaine. It is probably a good design choice, and when you 
get to study it closely, it is quite remarkably done. However, a *huge* 
pain to read and to navigate through.

All the best,

-- 
      Guillaume Yziquel
http://yziquel.homelinux.org/