1
2012-03-20: Updated to latest Oasis release and a package dependency to
4
2011-09-18: Improved documentation.
6
2011-09-15: Fixes to improve package dependency resolution.
8
2011-07-05: Fixed a parser position bug. Parser positions passed by the user
9
were not updated correctly.
11
Internal code beautification.
13
2011-07-04: Internal updates to sync with Jane Street.
15
2011-01-30: Fixed a code generation bug with toplevel entries.
17
Thanks to Yong Lu <lyongu@gmail.com> for the report!
19
2010-12-27: Added support for MoreLabels.Hashtbl and improved reporting of
20
error locations with preprocessor.
22
2010-12-26: Worked around a compiler bug that is expected to be fixed in
23
OCaml 3.12.1. This workaround temporarily removes the interface
24
for module Conv (conv.mli), thus exposing the internals.
25
This should not cause any problems for end users as long as
26
they do not depend on the exported internal representations.
27
The interface will become constrained again as soon as the
28
fixed compiler is out.
30
2010-12-22: Major release.
32
Merged with Jane Street version. This has caused an API-change
33
that requires "open Sexplib.Conv" at the top of files that use the
38
* sexp_of_lazy -> sexp_of_lazy_t
39
* lazy_of_sexp -> lazy_t_of_sexp
41
Some standard library modules are now re-exported with predefined
42
S-expression converters in module Conv.
44
2010-09-25: Fixed inferred types of generated functions when dealing with arrow
47
2010-08-26: Fixed a lexer bug when parsing comments.
49
2010-05-21: Added support for sexp_bool record field annotations.
51
2010-05-18: Improved performance of converting S-expressions to strings.
53
2010-04-12: Changed API of Of_sexp_error exception.
55
2010-04-07: Added of_(big)string_conv_exn functions.
57
2010-04-01: Merged with Jane Street version.
59
Major new features (various functions):
61
* Type-annotated parsing for better error messages
62
* Greatly improved performance of exception converters
64
2009-12-21: Improved saving of files.
66
2009-10-12: Added sexp_array record field extension.
68
2009-09-19: Added missing variant type cases.
70
Fixed handling of variance annotations.
72
2009-09-15: Internal cleanups.
74
2009-07-28: Added better support for conversion of exception types.
76
2009-06-23: Fixed build problem.
78
Thanks to Sylvain Le Gall <gildor@ocamlcore.org> for
81
2009-05-08: Fixed build problems on Windows and OCamlMakefile issues.
83
Thanks to Sylvain Le Gall <gildor@ocamlcore.org> for
86
2009-04-22: Added macro support for all types of vectors, matrices,
89
2009-04-21: Merged with Jane Street version, no user-relevant changes.
91
2009-03-09: Merged with Jane Street version, no user-relevant changes.
93
2009-03-01: Fixed build problem on Mac OS X by updating OCamlMakefile.
95
2009-01-20: Automatically add S-expression pretty-printers to toplevels.
97
2008-09-30: Added a new feature: sexp_opaque. It prevents the need for /
98
use of type converters for a given type in a particular
101
Removed abstract types to unify them with this new concept.
103
2008-09-29: Added a new feature: sexp_list. This is similar to
104
the handling of sexp_option. By default an empty list is
105
assumed for unspecified records using sexp_list as qualifier.
106
Such record fields bound to empty lists will also not be
107
printed anymore for better readability.
109
2008-09-23: Added missing Not_found-exception to standard exception
112
2008-08-20: Removed dependency on threads. Fixed build problems.
114
2008-08-08: Nifty new feature: exceptions can now be converted to
115
S-expressions, too! The "with sexp" syntax extension can be
116
used with exceptions, thus registering a conversion function.
117
A global exception conversion function can then be called
118
to convert an arbitrary exception into an S-expression,
119
which can then be printed out. This should greatly
120
improve readability of uncaught exceptions while making
121
life extremely easy for the developer.
123
Renamed the ParseError exception to Parse_error to be more
124
compliant with Jane Street naming conventions.
126
2008-07-25: Added utilities for conversion error handling. Minor fixes.
128
2008-04-24: Made Sexp-interface manifest.
130
2008-03-20: Fixed META-file (missing num dependency).
132
2008-03-17: Improved META-file.
134
2008-03-13: Fully allow function types in converters. Raise runtime
135
exceptions on converting from S-expressions instead when
136
function type encountered.
138
2008-02-11: Fixed code generation problems with variance annotations
139
in signatures, and empty types.
141
2007-12-17: Added support for generating signature entries for
142
S-expression converters. Thanks to Till Varoquaux
143
<till.varoquaux@gmail.com> for the patch!
145
2007-11-29: Added support for converting big_int, nat, num, and ratio.
147
2007-11-26: Added support for parsing from bigstrings (char bigarrays).
149
2007-11-02: Added syntax support for option types to use the ordinary
150
sum type syntax. This should improve readability.
151
The old syntax will be accepted, too, if
152
Conv.read_old_option_format is set to true (this is
153
currently the default). The old format will be used for
154
writing if Conv.write_old_option_format is true (currently
155
the default). The old syntax is deprecated and will
156
probably not be supported by default in the near future.
157
Reading new-style option values will always succeed.
159
2007-09-14: Fixed bug in S-expression preprocessor concerning record
162
2007-08-06: Added support for converting functions to S-expressions.
164
2007-07-20: Fixed position information and improved speed of S-expression
165
parser. Fixed S-expression macro bug concerning contained
166
polymorphic variants.
168
2007-06-28: Improved Sexplib code generation.
170
2007-06-22: Fixed escaping bug in S-expression parser.
172
2007-06-01: Added correct handling of recursive types + test case.
174
2007-04-18: Added missing conversion functions from S-expressions to
177
2007-03-21: Updated OCamlMakefile.
179
2007-03-02: Improved error messages when parsing illegal type definitions.
181
2007-01-30: Added triple conversions.
183
2006-11-22: Updated OCamlMakefile.
185
2006-10-13: Improved checking of records for extra or duplicate fields.
187
2006-09-06: Added support for polymorphic record fields.
189
2006-09-05: Added support for manifest types.
191
2006-08-16: Improved error messages.
193
2006-07-28: Added a new, hand-written S-expression parser that supports
194
partial parsing and should be approx. 10x faster than the
197
2006-06-20: Fixed a code generation problem leading to compilation
198
errors concerning the use of type aliases within polymorphic
199
variant type definitions.
201
This fix also solves potential erroneous appearances of
202
backtracking exceptions in user code.
204
2006-03-21: Added -for-pack option to Makefile and cleaned up
205
distribution for a new public release.
207
2006-03-13: Sexplib now accepts capitalized booleans.
209
2006-03-03: Added customizable indentation levels.
210
Improved documentation.
211
Fixed API-problem concerning backward compatibility.
213
2006-03-03: Added customizable indentation levels.
214
Improved documentation.
216
2006-03-01: Added a missing flush for string conversions with a buffer.
218
2006-02-08: Eliminated unused variable warnings in Sexplib-generated code.
220
2006-01-11: Added functions for pretty-printing to buffers. Improved
221
performance of outputting S-expressions to channels.
223
2006-01-09: Added functions load_sexp and load_sexps.
225
2006-01-04: Changed float conversion from %E to %G (more readable).
227
2005-12-28: Made machine representation for S-expressions more compact
229
2005-12-15: Fixed a problem appearing with OCaml-release 3.08.4: CamlP4
230
obviously performs more strict checking on some constructs
231
now and crashed with an exception when generating
232
S-expression code for records containing only one field
233
("singleton tuple problem"). This problem is fixed now.
235
2005-11-25: Fixed problem with type variables that could not be generalized.
237
2005-11-23: Added a missing case in type definitions (path alias)
239
2005-11-17: Major release: 2.0
241
Fixed a major design problem. The user now has to pass lex
242
buffers instead of channels to input-functions. Reason:
243
trailing characters in channels were lost due to ocamllex
244
buffering them in the non-exposed lex buffer. This lex
245
buffer is now exposed. The functions have been renamed
246
("input_X" -> "scan_X") to reflect this change.
248
2005-11-16: Added label to conversion function "input_cnv_sexps".
250
2005-11-11: Fixed a bug in the pretty-printer: strings in atoms were
251
not escaped in the function "to_string_mach" (and therefore
254
2005-11-07: Initial release.