Skip to content

Commit

Permalink
113.24.00
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeremie Dimino committed Jan 12, 2016
1 parent 332d406 commit 26a8311
Show file tree
Hide file tree
Showing 56 changed files with 727 additions and 3,309 deletions.
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 113.24.00

- Switch code in `lib` subdir to ppx-style.

## 112.35.00

- Inline some calls that js_of_ocaml was unable to recognise as
Expand Down
267 changes: 267 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,267 @@
2012-07-15: Added support for S-expression default record fields.

Added syntax for S-expression comments and for nested block
comments.

Fixed a few minor bugs and inconsistencies in the parsers and
updated their whitespace handling to conform with the upcoming
OCaml 4.00 compiler. The parser specification now also supports
Menhir.

Rewrote README in Markdown and improved documentation.

Minor bug fix in the preprocessing module.

Eliminated new warnings available in OCaml 4.00.

2011-09-18: Improved documentation.

2011-09-15: Fixes to improve package dependency resolution.

2011-07-05: Fixed a parser position bug. Parser positions passed by the user
were not updated correctly.

Internal code beautification.

2011-07-04: Internal updates to sync with Jane Street.

2011-01-30: Fixed a code generation bug with toplevel entries.

Thanks to Yong Lu <[email protected]> for the report!

2010-12-27: Added support for MoreLabels.Hashtbl and improved reporting of
error locations with preprocessor.

2010-12-26: Worked around a compiler bug that is expected to be fixed in
OCaml 3.12.1. This workaround temporarily removes the interface
for module Conv (conv.mli), thus exposing the internals.
This should not cause any problems for end users as long as
they do not depend on the exported internal representations.
The interface will become constrained again as soon as the
fixed compiler is out.

2010-12-22: Major release.

Merged with Jane Street version. This has caused an API-change
that requires "open Sexplib.Conv" at the top of files that use the
syntax extension.

Renamed functions:

* sexp_of_lazy -> sexp_of_lazy_t
* lazy_of_sexp -> lazy_t_of_sexp

Some standard library modules are now re-exported with predefined
S-expression converters in module Conv.

2010-09-25: Fixed inferred types of generated functions when dealing with arrow
types.

2010-08-26: Fixed a lexer bug when parsing comments.

2010-05-21: Added support for sexp_bool record field annotations.

2010-05-18: Improved performance of converting S-expressions to strings.

2010-04-12: Changed API of Of_sexp_error exception.

2010-04-07: Added of_(big)string_conv_exn functions.

2010-04-01: Merged with Jane Street version.

Major new features (various functions):

* Type-annotated parsing for better error messages
* Greatly improved performance of exception converters

2009-12-21: Improved saving of files.

2009-10-12: Added sexp_array record field extension.

2009-09-19: Added missing variant type cases.

Fixed handling of variance annotations.

2009-09-15: Internal cleanups.

2009-07-28: Added better support for conversion of exception types.

2009-06-23: Fixed build problem.

Thanks to Sylvain Le Gall <[email protected]> for
the patch!

2009-05-08: Fixed build problems on Windows and OCamlMakefile issues.

Thanks to Sylvain Le Gall <[email protected]> for
the patch!

2009-04-22: Added macro support for all types of vectors, matrices,
and for bigstrings.

2009-04-21: Merged with Jane Street version, no user-relevant changes.

2009-03-09: Merged with Jane Street version, no user-relevant changes.

2009-03-01: Fixed build problem on Mac OS X by updating OCamlMakefile.

2009-01-20: Automatically add S-expression pretty-printers to toplevels.

2008-09-30: Added a new feature: sexp_opaque. It prevents the need for /
use of type converters for a given type in a particular
type context.

Removed abstract types to unify them with this new concept.

2008-09-29: Added a new feature: sexp_list. This is similar to
the handling of sexp_option. By default an empty list is
assumed for unspecified records using sexp_list as qualifier.
Such record fields bound to empty lists will also not be
printed anymore for better readability.

2008-09-23: Added missing Not_found-exception to standard exception
converters.

2008-08-20: Removed dependency on threads. Fixed build problems.

2008-08-08: Nifty new feature: exceptions can now be converted to
S-expressions, too! The "with sexp" syntax extension can be
used with exceptions, thus registering a conversion function.
A global exception conversion function can then be called
to convert an arbitrary exception into an S-expression,
which can then be printed out. This should greatly
improve readability of uncaught exceptions while making
life extremely easy for the developer.

Renamed the ParseError exception to Parse_error to be more
compliant with Jane Street naming conventions.

2008-07-25: Added utilities for conversion error handling. Minor fixes.

2008-04-24: Made Sexp-interface manifest.

2008-03-20: Fixed META-file (missing num dependency).

2008-03-17: Improved META-file.

2008-03-13: Fully allow function types in converters. Raise runtime
exceptions on converting from S-expressions instead when
function type encountered.

2008-02-11: Fixed code generation problems with variance annotations
in signatures, and empty types.

2007-12-17: Added support for generating signature entries for
S-expression converters. Thanks to Till Varoquaux
<[email protected]> for the patch!

2007-11-29: Added support for converting big_int, nat, num, and ratio.

2007-11-26: Added support for parsing from bigstrings (char bigarrays).

2007-11-02: Added syntax support for option types to use the ordinary
sum type syntax. This should improve readability.
The old syntax will be accepted, too, if
Conv.read_old_option_format is set to true (this is
currently the default). The old format will be used for
writing if Conv.write_old_option_format is true (currently
the default). The old syntax is deprecated and will
probably not be supported by default in the near future.
Reading new-style option values will always succeed.

2007-09-14: Fixed bug in S-expression preprocessor concerning record
field names.

2007-08-06: Added support for converting functions to S-expressions.

2007-07-20: Fixed position information and improved speed of S-expression
parser. Fixed S-expression macro bug concerning contained
polymorphic variants.

2007-06-28: Improved Sexplib code generation.

2007-06-22: Fixed escaping bug in S-expression parser.

2007-06-01: Added correct handling of recursive types + test case.

2007-04-18: Added missing conversion functions from S-expressions to
pairs and triples.

2007-03-21: Updated OCamlMakefile.

2007-03-02: Improved error messages when parsing illegal type definitions.

2007-01-30: Added triple conversions.

2006-11-22: Updated OCamlMakefile.

2006-10-13: Improved checking of records for extra or duplicate fields.

2006-09-06: Added support for polymorphic record fields.

2006-09-05: Added support for manifest types.

2006-08-16: Improved error messages.

2006-07-28: Added a new, hand-written S-expression parser that supports
partial parsing and should be approx. 10x faster than the
previous one.

2006-06-20: Fixed a code generation problem leading to compilation
errors concerning the use of type aliases within polymorphic
variant type definitions.

This fix also solves potential erroneous appearances of
backtracking exceptions in user code.

2006-03-21: Added -for-pack option to Makefile and cleaned up
distribution for a new public release.

2006-03-13: Sexplib now accepts capitalized booleans.

2006-03-03: Added customizable indentation levels.
Improved documentation.
Fixed API-problem concerning backward compatibility.

2006-03-03: Added customizable indentation levels.
Improved documentation.

2006-03-01: Added a missing flush for string conversions with a buffer.

2006-02-08: Eliminated unused variable warnings in Sexplib-generated code.

2006-01-11: Added functions for pretty-printing to buffers. Improved
performance of outputting S-expressions to channels.

2006-01-09: Added functions load_sexp and load_sexps.

2006-01-04: Changed float conversion from %E to %G (more readable).

2005-12-28: Made machine representation for S-expressions more compact

2005-12-15: Fixed a problem appearing with OCaml-release 3.08.4: CamlP4
obviously performs more strict checking on some constructs
now and crashed with an exception when generating
S-expression code for records containing only one field
("singleton tuple problem"). This problem is fixed now.

2005-11-25: Fixed problem with type variables that could not be generalized.

2005-11-23: Added a missing case in type definitions (path alias)

2005-11-17: Major release: 2.0

Fixed a major design problem. The user now has to pass lex
buffers instead of channels to input-functions. Reason:
trailing characters in channels were lost due to ocamllex
buffering them in the non-exposed lex buffer. This lex
buffer is now exposed. The functions have been renamed
("input_X" -> "scan_X") to reflect this change.

2005-11-16: Added label to conversion function "input_cnv_sexps".

2005-11-11: Fixed a bug in the pretty-printer: strings in atoms were
not escaped in the function "to_string_mach" (and therefore
also "to_string").

2005-11-07: Initial release.
2 changes: 1 addition & 1 deletion COPYRIGHT.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The original license of "Tywith" can be found in the file "LICENSE-Tywith.txt".

The following company has sponsored and has copyright in part of this work:

Jane Street Group, LLC
Jane Street Holding, LLC
1 New York Plaza, 33rd Floor
New York, NY 10004
USA
27 changes: 27 additions & 0 deletions META.ab
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version = "$(pkg_version)"
description = "Library for serializing OCaml values to and from S-expressions"
requires = "bigarray"
archive(byte ) = "sexplib.cma"
archive(native ) = "sexplib.cmxa"
archive(native, plugin) = "sexplib.cmxs"
exists_if = "sexplib.cma"

package "num" (
version = "$(pkg_version)"
description = ""
requires = "num sexplib"
archive(byte ) = "sexplib_num.cma"
archive(native ) = "sexplib_num.cmxa"
archive(native, plugin) = "sexplib_num.cmxs"
exists_if = "sexplib_num.cma"
)

package "unix" (
version = "$(pkg_version)"
description = ""
requires = "sexplib unix"
archive(byte ) = "sexplib_unix.cma"
archive(native ) = "sexplib_unix.cmxa"
archive(native, plugin) = "sexplib_unix.cmxs"
exists_if = "sexplib_unix.cma"
)
57 changes: 36 additions & 21 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,24 +1,20 @@
# Generic Makefile for oasis project

# Set to setup.exe for the release
SETUP := setup-dev.exe
SETUP := setup.exe
NAME := sexplib
PREFIX = $(shell grep ^prefix= setup.data | cut -d\" -f 2)

# Default rule
default: build

# Setup for the development version
setup-dev.exe: _oasis setup.ml
grep -v '^#' setup.ml > setup_dev.ml
ocamlfind ocamlopt -o $@ -linkpkg -package ocamlbuild,oasis.dynrun setup_dev.ml || ocamlfind ocamlc -o $@ -linkpkg -package ocamlbuild,oasis.dynrun setup_dev.ml || true
rm -f setup_dev.*

# Setup for the release
setup.exe: setup.ml
ocamlopt.opt -o $@ $< || ocamlopt -o $@ $< || ocamlc -o $@ $<
rm -f setup.cmx setup.cmi setup.o setup.obj setup.cmo
setup.exe: _oasis setup.ml
ocamlfind ocamlopt -o $@ -linkpkg -package ocamlbuild,oasis.dynrun setup.ml || \
ocamlfind ocamlc -o $@ -linkpkg -package ocamlbuild,oasis.dynrun setup.ml || true
for f in setup.*; do [ $$f = $@ -o $$f = setup.ml ] || rm -f $$f; done

build: $(SETUP) setup.data
./$(SETUP) -build $(BUILDFLAGS)
$(MAKE) $(NAME).install

doc: $(SETUP) setup.data build
./$(SETUP) -doc $(DOCFLAGS)
Expand All @@ -28,15 +24,34 @@ test: $(SETUP) setup.data build

all: $(SETUP)
./$(SETUP) -all $(ALLFLAGS)

install: $(SETUP) setup.data
./$(SETUP) -install $(INSTALLFLAGS)

uninstall: $(SETUP) setup.data
./$(SETUP) -uninstall $(UNINSTALLFLAGS)

reinstall: $(SETUP) setup.data
./$(SETUP) -reinstall $(REINSTALLFLAGS)
$(MAKE) $(NAME).install

$(NAME).install: js-utils/gen_install.ml setup.log setup.data
ocaml -I js-utils js-utils/gen_install.ml

install: $(NAME).install
opam-installer -i --prefix $(PREFIX) $(NAME).install

uninstall: $(NAME).install
opam-installer -u --prefix $(PREFIX) $(NAME).install

reinstall: $(NAME).install
opam-installer -u --prefix $(PREFIX) $(NAME).install &> /dev/null || true
opam-installer -i --prefix $(PREFIX) $(NAME).install

bin.tar.gz: $(NAME).install
rm -rf _install
mkdir _install
opam-installer -i --prefix _install $(NAME).install
tar czf bin.tar.gz -C _install .
rm -rf _install

bin.lzo: $(NAME).install
rm -rf _install
mkdir _install
opam-installer -i --prefix _install $(NAME).install
cd _install && lzop -1 -P -o ../bin.lzo `find . -type f`
rm -rf _install

clean: $(SETUP)
./$(SETUP) -clean $(CLEANFLAGS)
Expand Down
Loading

0 comments on commit 26a8311

Please sign in to comment.