Hello
Here is the latest Caml Weekly News, for the week of January 03 to 10, 2012.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-01/msg00033.html
Deep in this thread, Edgar Friendly said:I have, and the result is odb[1]. It backends with oasis-db[2], meaning if you upload your oasis package, it will be installable via odb, including deps. After finding out about barbra[3], a similar project with a different starting point, I stole many of their good ideas, and now have support for a local `packages` file that provides metadata for packages not available through oasis-db. This packages file allows installation of packages available from arbitrary URLs (anything curl-able), git, svn, cvs, hg, darcs, as well as local directories. For a large number of package examples (plus non-examples of packages that fail to auto-install through make/omake/oasis), look here: https://github.com/thelema/odb/blob/master/packages Contributions of additional packages welcome, fixes to the programs that don't auto-install (See the bottom half of the packages file) are doubly welcome. E. [1] https://github.com/thelema/odb [2] http://oasis.forge.ocamlcore.org/oasis-db.html and http://oasis.ocamlcore.org/dev/odb/ [3] still in stealth mode, maybe I shouldn't have stolen their thunder by mentioning them
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-01/msg00037.html
Deep in this thread, Richard Jones said and Damien Doligez added:> Is compaction disabled? lablgtk disables it unconditionally by > setting the global Gc max_overhead (see also the Gc documentation): > > src/gtkMain.ml: > let () = Gc.set {(Gc.get()) with Gc.max_overhead = 1000000} Anyone who disables compaction should seriously consider switching to the first-fit allocation policy: let () = Gc.set {(Gc.get ()) with Gc.allocation_policy = 1} This may slow down allocations a bit, but the theory tells us that it completely prevents unbounded fragmentation of the OCaml heap.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-01/msg00059.html
Yaron Minsky announced:For those who are interested in getting a look at a development version of the next release of the Core suite of OCaml libraries, Core is now hosted on bitbucket. http://bitbucket.org/yminsky/ocaml-core/wiki/Home We're still working on making installation smoother and easier, as well as solving portability problems. But please take a look. There's also a discussion list: http://groups.google.com/forum/#!forum/ocaml-core This represents a new and more open development model for us, and we hope that as a result we'll be able to better interact with and accept patches from the community, and that Core will become a base that many people can use for building OCaml applications.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-01/msg00062.html
Hezekiah M. Carty announced:I would like to announce ocamlbrew, a (very simple, very alpha) tool for automating and managing builds of OCaml, findlib, and other OCaml-related items under $HOME on Linux. ocamlbrew takes it name and a bit of wrapper code from perlbrew[1]. ocamlbrew provides a thin bash wrapper around the standard OCaml + findlib build procedure, taking advantage of odb[2] for further library and tool installations. ocamlbrew currently lives on github: https://github.com/hcarty/ocamlbrew With one command[3] ocamlbrew can build OCaml, findlib, oasis, utop, Batteries, and ocamlscript from source, plus get an easily source-able file to set up your environment. Everything will be built and installed under $HOME/ocamlbrew by default. ocamlbrew can also be used to build OCaml from any branch on the official Subversion server. At this time I recommend using the "-f" ocamlbrew flag with builds coming from Subversion due to some incompatibilities between OCaml development versions and oasis. The -f flag tells ocamlbrew to only install OCaml, findlib, and odb.ml, skipping other tools and libraries. This will hopefully provide a simple way to test and provide feedback to the core OCaml development team when new releases or experimental branches are ready for testing. For more information, including ocamlbrew's requirements, see the README.md file at the link above. Enjoy! Many thanks to Edgar/thelema and Adrien/adrien for taking the time to test ocamlbrew and provide feedback as I was playing around with the process. Hez [1] - http://search.cpan.org/~gugod/App-perlbrew/bin/perlbrew [2] - https://github.com/thelema/odb [3] - Well, one command and the availability of all non-OCaml build prerequisites...
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-01/msg00063.html
Yoriyuki Yamagata announced:I am pleased to announce the new release of Camomile, a Unicode library for OCaml. This release is a bug fix release. The changes from the previous version are 1) search_forward function of URe returns None, instead of raising Not_found, if it does not find a match. This is the documented behavior. 2) Parsing of regular expressions are changed, so that say </?a> mathces <a>. (Previously, it matches either a> or </a>) 3) The bugs of USet.compare, UMap.domain and UMap.map_to_set are fixed. (incorporated from Batteries.) Another big change is that, now we move the project to Github. You can download the new version from https://github.com/downloads/yoriyuki/Camomile/camomile-0.8.4.tar.bz2 You can find the general information at the Wiki https://github.com/yoriyuki/Camomile/wiki
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-01/msg00070.html
ygrek announced:Just a small announcement - GDB extension to inspect OCaml values : http://ygrek.org.ua/p/code/mlvalues.py.html Basically an implementation of Std.dump (and hence Obj) in python. Not fully complete and could be enhanced in various ways, but already useful.Fabrice Le Fessant then announced:
If some people are interested in testing more gdb support, Thomas Gazagnaire merged a few patches of OCaml and improved them to be able to debug OCaml programs line by line in gdb, in this public repo: https://github.com/OCamlPro/ocaml-testing/ (use either 3.12.1-gdb or trunk-gdb branches) There is no support for printing OCaml values, so you should use Ygrek extension for that. All comments are welcome, as we would like to get as much experience as possible to push for inclusion upstream as soon as possible.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-01/msg00077.html
Daniel de Rauglaudre announced:For the ones who want to use Camlp5 with the current OCaml SVN development (the 'trunk' directory), you can download the new version 6.03 of Camlp5 at: http://pauillac.inria.fr/~ddr/camlp5/ The gadt new feature is parsed but may not work. If you use it, please let me know. I made it work with OCaml gadt branch, but I did not check for the 'trunk' directory. Camlp5 is a pre-processor-pretty-printer for OCaml.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2012-01/msg00081.html
Jun Furuse announced:An OCaml source browsing tool, OCamlSpotter 1.4.0 is out. With OCamlSpotter, you can easily jump to identifier uses to the corresponding definitions, resolving module inclusion and functor applications. For further info, please check http://jun.furuse.info/hacks/ocamlspotter ;. 1.4.0 supports: - Spotting the definitions of idents (Finding definition of idents) - Spotting the uses of idents (Opposite of def spotting) - Showing data types of expressions/patterns with their id numbers, and the query of their definitions. - Type driven expansion of expressions and patterns It requires compiler modification. The modified compiler source and OCamlSpotter is found at: https://bitbucket.org/camlspotter/mutated_ocaml/get/v3.12.1-ocamlspot-1.4.0.tar.gz The diff against the original 3.12.1 can be easily obtained from the bitbucket repo by hg diff -r ocaml-3.12.1-11110 -r v3.12.1-ocamlspot-1.4.0 . Happy hacking.
Thanks to Alp Mestan, we now include in the Caml Weekly News the links to the recent posts from the ocamlcore planet blog at http://planet.ocamlcore.org/. Putting Noise to the Test: http://alaska-kamtchatka.blogspot.com/2012/01/putting-noise-to-test.html Camomile 0.8.4: http://caml.inria.fr/cgi-bin/hump.cgi?contrib=85 ocamlbrew: http://caml.inria.fr/cgi-bin/hump.cgi?contrib=795 Fork Core!: https://ocaml.janestreet.com/?q=node/102 Text to PDF: http://alaska-kamtchatka.blogspot.com/2010/10/text-to-pdf.html On the Bourbaki-Witt Principle in Toposes: http://math.andrej.com/2012/01/04/on-the-bourbaki-witt-principle-in-toposes/ binmaps - compressed bitmaps: http://scattered-thoughts.net/one/1325/618081/392902
If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.
If you also wish to receive it every week by mail, you may subscribe online.