Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Daniel de Rauglaudre <daniel.de_rauglaudre@inria.fr>
To: caml-list@inria.fr
Subject: Camlp4 2.01
Date: Wed, 9 Dec 1998 20:21:35 +0100	[thread overview]
Message-ID: <19981209202135.A2650@jaune.inria.fr> (raw)

Camlp4 is a preprocessor-pretty-printer for Objective Caml.

The version 2.01, compatible with Ocaml 2.01 has been released.

All informations and downloading address at:
	http://caml.inria.fr/camlp4/

Among changes, notice that the interface of the module Token
changed. If you defined your own lexers (not using the predefined
Plexer), you have things to changes in your programs. See the file
README-2.01 in the distribution and the documentation of Camlp4.

Camlp4 Version 2.01 - Changes
-----------------------------

Token interface
* Big change: the type for tokens and tokens patterns is now (string * string)
  the first string being the constructor name and the second its possible
  parameters. No change in EXTEND statements using Plexer. But lexers
  have:
  - a supplementary parameter "tparse" to specify how to parse token
    from token patterns.
  - fields "using" and "removing" replacing "add_keyword" and
    "remove_keyword".
  See the file README-2.01 for how to update your programs and the interface
  of Token.

Grammar interface
* The function "keywords" have been replaced by "tokens". The equivalent
  of the old statement:
       Grammar.keywords g
  is now:
       Grammar.tokens g ""

Missing features added 
* Added "lazy" statement (pa_r.cmo, pa_o.cmo, pr_r.cmo, pr_o.cmo)
* Added print "assert" statement (pr_o.cmo, pr_r.cmo)
* Added parsing of infix operators like in Ocaml (e.g. |||) in pa_o.cmo

Compilation
* Added "make scratch"
* Changed Makefile. No more "make T=../", working bad in some systems.
* Some changes to make compilation in Windows 95/98 working better (thanks
  to Patricia Peratto).

Classes and objects
* Added quotations for classes and objects (q_MLast.ml)
* Added accessible entries in module Pcaml (class_type, class_expr, etc.)
* Changed classes and objects types in definition (module MLast)

Miscelleneous
* Some adds in pa_sml.cmo. Thanks to Franklin Chen.
* Added option "-no_cp" when "pr_o.cmo" or "pr_r.cmo" is loaded: do
  not print comments between phrases.
* Added option "-split_gext" when "pa_extend.cmo" is loaded: split GEXTEND
  by functions to turn around a PowerPC problem.

Bug fixes
* Fixed pa_r.cmo, pa_o.cmo to parse, and pr_r.cmo, pr_o.cmo to print "(x:#M.c)"
* Fixed printing pr_o.cmo of "(a.b <- 1)::1"
* Extended options with parameters worked only when the parameter was sticked.
  Ex:
     camlp4o pr_o.cmo -l120 foo.ml
  worked, but not:
     camlp4o pr_o.cmo -l 120 foo.ml

--------------------------------------------------------------------------
 Daniel de RAUGLAUDRE
 Projet Cristal - INRIA Rocquencourt
 Email: daniel.de_rauglaudre@inria.fr
 Web: http://cristal.inria.fr/~ddr/
--------------------------------------------------------------------------




                 reply	other threads:[~1998-12-11 14:10 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19981209202135.A2650@jaune.inria.fr \
    --to=daniel.de_rauglaudre@inria.fr \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox