Core 0.6.0 release

We are proud to announce the second major release of Core, Jane Street's alternative to OCaml's standard library. This release also includes Core_extended, which adds new functionality such as subcommand style command line argument handling, a procfs interface, readline support, and more. Core_extended is used heavily at Jane Street, but not systematically code reviewed in the same manner as Core.

As was warned in the first release, the interfaces to many modules have changed, so upgrade with care. Interfaces will continue to change with future releases.

Core is intended to be used with OCaml 3.11.1. It will not compile with 3.10.

We have tested the code on Linux (Centos 5), but have only limited experience with it on other platforms. It compiles on Mac OS 10.6, but has had almost no testing on that platform, and hasn't been tested at all on anything else.

You can find the library here:

http://www.janestreet.com/ocaml

along with three other libraries that you will need to use along with it: type-conv, sexplib, bin-prot, and fieldslib. These four libraries provide macros for generating functions for serializing and deserializing types, and for folding over records.

In addition, Core depends on Pcre and Res. Core_extended also depends on Pcre. You can find these libraries at Markus's website:

http://www.ocaml.info/home/ocaml_sources.html

If you have any comments or patches, we'd love to hear about it.

patches should be sent to opensource@janestcapital.com.

All of the released libraries are licensed under the LGPL-plus-linking-exception that is used by the OCaml standard library.

Comments

Fieldslib

Just looking at the new Core release, but I can't seem to find the Fieldslib record folding extension anywhere; could you provide a pointer? Closest is on your blog from last year.

Great!

It looks great! Many features, much coherence, great!

Yeah, I agree. Looks cool

Yeah, I agree. Looks cool with many interesting features on it. This is great.

Sexplib problem

Hi,

I'm having trouble building Sexplib - my platform is:

bash-3.00# ocaml
        Objective Caml version 3.11.1
 
# ^D
bash-3.00# uname -a
SunOS magicdragon 5.10 Generic_127128-11 i86pc i386 i86pc

And the error is:

ocamlfind ocamlopt -pack -o sexplib.cmx   type.cmx parser.cmx lexer.cmx pre_sexp.cmx sexp_intf.cmx sexp.cmx path.cmx conv.cmx conv_error.cmx
File "sexplib.cmx", line 1, characters 0-1:
Error: File type.cmx
was not compiled with the <code>-for-pack Sexplib&#039; option&#10;make[2]: *** [sexplib.cmx] Error 2&#10;make[2]: Leaving directory</code>/root/sexplib310-release-4.2.15/lib'
make[1]: *** [pack-native-code] Error 2
make[1]: Leaving directory `/root/sexplib310-release-4.2.15/lib'
make: *** [all] Error 2

Any ideas?

Thanks,

G

RE: Sexplib problem

you should have had a line in the output higher up like this:

ocamlfind ocamlopt -package type-conv -c -I +camlp4 -for-pack Sexplib type.ml

If you don't see it, something odd might be going on, although I'm not sure what.

If you email me (at janestreet.com) the full output of a "make clean; make", I'll see if something pops out.

Ralph

Syndicate content