#######################################################################
#                                                                     #
#                              OCamlGen                               #
#                                                                     #
#                       OCaml module Generator                        #
#                                                                     #
#               EPI Pomdapi, INRIA Paris - Rocquencourt               #
#                                                                     #
#  Copyright 1997-2014 INRIA.                                         #
#  Institut National de Recherche en Informatique et en Automatique.  #
#  All rights reserved. This file is distributed only by permission.  #
#                                                                     #
#  Pierre Weis <Pierre.Weis@inria.fr>                                 #
#                                                                     #
#######################################################################

# $Id: CHANGES,v 1.8 2014/01/31 09:51:51 fclement Exp $

Version 3.3 :
-------------

* The generator checks if type definitions are recursive or not, in order to
  properly defined recursive or not recursive function definitions.

* Basic types nativeint, int32 and int64 are handled.

* Type with constraints (type t = Module.t = def) are properly handled.
  (A compiler flag indicates if the declaration should be treated as
   type t = Module.t or as type t = def, which is a bit stranger.)

* Multiple comments are supported.

* Unused parameters in printer definitions are now properly flagged as unused
  in the source file.

* Infix and symbolic operators are properly treated in .mli source files.

* Infix mod has been introduced.

* Double semi-colon obligation alleviated: this is necessary for
  automatically generated Ocaml interface files that do not respect this
  constraint.

* Private types are handled for printing. Even polymorphic ones.

Version 3.2 : 2012 05 21
------------------------

* Type with constraints (type t = Module.t = ...) are now handled by the parser.

* XML generation introduced (using new ocamlprint_xmlc command).

Version 3.1 : 2012 05 17
------------------------

* Comments in record definitions revisited.

* Identifiers ingenerated code are now qualified.

* No more spurious opens.

* Function types are fully supported.

* Comments in the source file are no more copied to the output file:
  they are irrelevant anyway, and may become harmful to ocamldoc processing.

* Adding a printer for Format.formatter in the library in extra module
  Format_print.

* Packaging the printing library as a true OCaml library lib_print.cma.

Version 3.0 : 2012 05 05
------------------------

* Name of the package is OCamlGen.

* Function type is treated as a regular functional type constructor with two
  polymorphic parameters.

* Spurious open of the .mli source file suppressed.

* Paires are properly printed in the generated source files.

* Generated source files are read-only.

Version 2.3 : 2012 04 16
------------------------

* Parsing (and ignoring) spurious declarations in source interface files.

Version 2.2.0 : 2011 12 10
--------------------------

* Introducing function types in the formalism.
  Constructor argument and record fields may be functional values. Printing
  support is minimal (just <fun> as in the toplevel) but this allows the
  treatment of types where there is such a function type somewhere in the
  definition.
