1. camlspotter
  2. meta_conv


meta_conv / Changes

1.2.0 (just a plan)

- (To be done) poly_variant decoder now takes an option of value instead of a list of values

1.1.4 (not yet)

- Added xml_conv
- Added ref converters
- Bug fixes of ocaml_conv


- Update for OCaml 4.01.0 


- Code cleanup


* Fixed the parsing of with 'conv(foo(bar))' (still requires a bug fix of type_conv 108.08.00
* Added special handling of identity encoder and decoder
* Added encoder support of GADT. Do NOT expect decoder support.
* Added support of manifest types, i.e., type t = M.t = .... It does not use encoders and decoders of the alias (even if they exist), but builds encoders and decoders from the local definition.
* Bug fixes of OCaml_conv: save_with, load_with, and its list decoder 


INCOMPATIBLES    Sorry, lots of incompatibilities introduced but mainly name space fixes

* Meta_conv.Internal.Make => Meta_conv.Coder.Make. 
     Custom coder now needs to use less Internal.

* Following name changes in Types.S:

     Encode => Constr
     Decode => Deconstr
        In order to remove the confusion between the real decoders and encoders. 

     Decode' => DeconstrDecoder

     prim_decode => Helper.of_deconstr
     generic_* => Helper.*

     integer_of_float is now in Make functor as Helper.integer_of_float

- Error.LocalException for locally bound exceptions for target specific errors


- Incompatible: decoders now take 'trace' optional argument to record decoding trace.

- Generated decoders now use try..with instead of bunch of monadic binds for efficiency.

- Meta_conv.Internal.Make now should be used to write the conversions.

- Added some tool functions

- Bug: due to a bug of type_conv 108.08.00, conv(json(Json.t, Json_conv)) does not work properly.


- Added (partial) polymorphic variant and object type support

- Removed Address.t, since it just complicates the code base.
  Tree addresses must be handled by the tree data themselves.

- Removed (: Leftovers :) annotation. Use mc_leftovers special type instead.

- [t mc_leftovers] can live with more than one conv()s. 
  [t mc_leftovers] works as leftover fields only for a conv(type) with the same
  syntactic target type. For example, [Json.t mc_leftovers] works as leftover field
  for conv(json), but not for conv(ocaml).

- ocaml_conv now has parser by compiler-libs

- Bug fixes


- Decoding of lazy_t is now done lazily.
- Added OCaml decoder/encoder


- Initial release