On 12/11/2011 11:04 AM, Stéphane Glondu wrote:
> Le 11/12/2011 00:34, Gabriel Scherer a écrit :
>> The original Camlp4 tool was mostly developped by Daniel de
>> Rauglaudre.
>> [...]
>> (I'm thinking of
>> eg. Martin Jambon, which had extensive Camlp4 extensions, and the Coq
>> team which has user-defined notations using Camlp4 and, huh, I really
>> don't want to know the details); basically they didn't upgrade to
>> 3.10 -- instead of porting the extensions, as was originally hoped.
>> [...]
>> Daniel, which apparently did not agree with some of the changes made,
>> relatively suddenly restarted developpment of "his" branch of Camlp4,
>> taken from the old sources, before refactoring. This was done as
>> a separate project, outside the OCaml distribution (apparently Daniel
>> and the OCaml team prefer not to work together).
>> [...]
>> Camlp4 is a piece of devil beauty. It does incredibly clever things,
>> and is incredibly complex inside: Daniel is clearly a remarkable
>> hacker, but his code is not easy to understand. I know that
>> maintaining the whole thing is very hard; and that is the reason why
>> Camlp4 tends to have problems to bump from one version to another,
>> when non-neglectible syntaxic changes are made to the language.
>> [...]
>> (And I'm not sure it's a good idea to move Camlp4 out of the
>> distribution as long as we don't have a viable alternative proposal
>> and some users have started moving to it. Camlp4 will still need to be
>> supported by someone anyway, and it needs to evolve in lockstep with
>> OCaml language changes.)
> 
> Coq has been adapted to work with both camlp4 and camlp5. In my
> experience, Daniel has been much more responsive on camlp5 matters than
> the OCaml team on camlp4 matters. And Xavier's mail suggests that camlp4
> is a maintenance burden for the OCaml team.
> 
> Why is it such a bad idea to drop camlp4 out of the distribution, and
> just let camlp5 live? My feeling is that people using camlp5 care about
> it, but people using camlp4 do so just because it's in the official
> distribution and wouldn't care switching to camlp5 (or stop using this
> kind of syntax extension) if camlp4 was officially deprecated in favor
> of camlp5. At worst, someone will start maintaining camlp4 independently.
> 
> Daniel already maintains and develops camlp5. I guess Jérémie would also
> volunteer to join him (but he already offered to maintain camlp4
> independently). In Debian, there are currently 49 packages depending on
> camlp4, and 7 depending on camlp5. That also increases incentive /
> possible help for maintaining it.

There's another use of camlp4 besides syntax extensions: better
syntax errors, and the alternate syntax.

While learning OCaml I've used camlp4o quite a few times to figure
out what is wrong with the code, as ocamlc just gives you a location and 
"Syntax error",

In fact learning the alternate syntax, and using camlp4r was easier for me,
because the syntax errors were closer to the actual place of the error.
With the original syntax the errors are often reported late, for example a typo 
of ";" instead
of ";;" can cause syntax errors to be reported in what you'd consider to be 
another function.
Eventually I learned how the original syntax works, but I still find camlp4o to 
be a time saver
 sometimes.

If camlp4 is dropped from the core distribution can these improved syntax error 
messages
be merged into the core parser? Also what will happen with the alternate syntax?

Best regards,
--Edwin

-- 
Caml-list mailing list.  Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to