<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2003/12/03fba8ae19894a59d47993bc1f31be69"
  from="Aleksey Nogin &lt;nogin@c...&gt;"
  author="Aleksey Nogin"
  date="2003-12-09T01:27:50"
  subject="[Caml-list] Announcing an improved version of the pa_macro package."
  prev="2003/12/24448eaff6f7e9447b75f2bb0fae05c2"
  next="2003/12/138d25e04135c86384c9d95218fd7b00"
  prev-thread="2003/12/083716029d8d303b29e49340afec64e0"
  next-thread="2003/12/138d25e04135c86384c9d95218fd7b00"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] Announcing an improved version of the pa_macro package.">
<msg 
  url="2003/12/03fba8ae19894a59d47993bc1f31be69"
  from="Aleksey Nogin &lt;nogin@c...&gt;"
  author="Aleksey Nogin"
  date="2003-12-09T01:27:50"
  subject="[Caml-list] Announcing an improved version of the pa_macro package.">
</msg>
</thread>

<contents>
I have added a number of improvements to the pa_macro package that was 
added to camlp4 distribution recently.

The improvements include:
- Allow multiple definitions inside a single top-level IFDEF.
- Support INCLUDE directive that allows including "header" files with 
macro definitions.
- Support "local" (not just top-level) macro definitions.
- Support a "NOTHING" macro that allows for optional expressions and 
function arguments.
- Descend (instead of skipping) into "try..with..", "do" and function 
expressions when substituting for macro arguments.
- Allow omiting "ELSE" branches in expressions.
- Use a more descriptive "ENDIF" instead of "END" at the end of 
"IFDEF"/"IFNDEF"
- Other minor improvements.

The new pa_macro package can be downloaded/browsed at 
http://cvs.metaprl.org:12000/cvsweb/metaprl/util/pa_macro.ml?only_with_tag%3Docaml_3_07 

You can also see the patches responsible for individual new features at 
the above location.

P.S. I have filed PR #1901, PR #1902, PR #1904, PR #1905, PR #1907 and 
PR #1908 asking for these changes to be accepted into the mainstream 
distribution.

-- 
Aleksey Nogin

Home Page: http://nogin.org/
E-Mail: nogin@cs.caltech.edu (office), aleksey@nogin.org (personal)
Office: Jorgensen 70, tel: (626) 395-2907

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

</contents>

</message>

