Path to this page:
Subject: CVS commit: pkgsrc/devel/ocaml-ppx_core
From: Jaap Boender
Date: 2016-08-18 12:48:06
Message id: 20160818104806.B0767FBC3@cvs.NetBSD.org
Log Message:
Updated package to version 114.01+04. This is an unreleased version based
on a GitHub tag; reason for this is that the latest released version,
113.33.03, does not compile with pkgsrc. The patches for this are already in
GitHub, hence this update.
Changes include:
* We currently reject code which contains attribute on constructor inside \
polymorphic variant types definition. The reason is that while there is a \
dedicated place for them in the AST, the surface syntax didn't allow one to \
write such attributes.
This won't be true anymore once we switch to 4.03 as documentation comments \
present in these locations get turned into attributes.
* accept attributes on object types fields.
* Make all ppx rewriters context free. We currently have an API for context free \
extension expanders but other kind of transformations still require a full AST \
traversal, even though they are all local transformations.
This features adds the necessary bits to make it possible to merge all the \
transformations in one pass. This both improve speed and semantic. Speed as we \
do less passes, and semantic as the resulting AST is completely independent of \
the order in which transformations are listed in jbuild files.
Passes before this feature:
$ ppx.exe -print-passes
<builtin:freshen-and-collect-attributes>
<bultin:context-free>
type_conv
custom_printf
expect_test
fail
js_style
pipebang
<builtin:check-unused-attributes>
<builtin:check-unused-extensions>
After:
<builtin:freshen-and-collect-attributes>
<bultin:context-free>
js_style
<builtin:check-unused-attributes>
<builtin:check-unused-extensions>
The resulting driver is about twice faster, which might help compilation speed.
Files: