Daniel de Rauglaudre | 19 Sep 09:22 2014

Camlp5 6.12 compatible with ocaml 4.02.0 release

Hi all,

I am glad to announce you the release of Camlp5 6.12 compatible with
Ocaml 4.02.1. Downloadable at http://camlp5.gforge.inria.fr/


Daniel de Rauglaudre


Caml-list mailing list.  Subscription management and archives:
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Yotam Barnoy | 18 Sep 23:20 2014

opam local switch

I have a question about opam. I would like to play with certain compiler versions, but I don't want the switch to happen globally, because I still need to compile regular code. Is it possible to switch to another compiler locally (within a particular shell session) via environment variables, while using my regular compiler in another shell session?

If this is the way things work already, I apologize in advance -- it appeared to me that running opam switch modifies some global state that directly affects other pre-existing shell sessions.

Bob Zhang | 18 Sep 22:14 2014

improve omake [was One build system to rule them all]

Dear camlers,
   I have done some work to  improve omake available here:  https://github.com/bobzhang/omake-fork/tree/work
   Before deciding spending some time in improving omake, I have tried various build systems.   
  1. ocamlbuild
      ocamlbuild is really nice for small to medium projects and I have used it pervasively in my personal projects and corporation projects. It works pretty well in most cases.
     There are mainly three drawbacks:
      a. Easy things hard to do.
          Even for some very trivial things, if you don't write myocamlbuild.m for a long time, you have to google ocamlbuild API and figure it out how to do it correctly.
     b. Error messages hard to understand
         It's cool that ocamlbuild detect dependencies dynamically, when it does not work out, in general, I would turn on -verbose and search which part goes wrong.
     c. no parallellism
        This is fatal and main reason that I gave it up
   2. ocp-build
      I tried it for my hobby project, it's not close to maturity yet.
   3. jenga
      Jenga looks promising, but I don't think it would be usable inside our company, the dependency is huge, more importantly, its dependency chain includes Camlp4 which we can not rely on. Also, looking at the examples, it is quite verbose even for trivial projects.

   omake has its own drawbacks as well, for example, the language is overly complex and error message is hard to understand(still better than ocamlbuild), startup speed is slow, no easy FFI interface to write rules in OCaml language itself, but that's all we can find a way to fix. 

-- Hongbo Zhang
Dario Teixeira | 18 Sep 13:06 2014

[ANN] Lambdoc 1.0-beta1


I'm happy to announce release 1.0-beta1 of Lambdoc, a library providing support
for semantically rich documents in web applications, built with Ocsigen/Eliom
integration in mind.  Lambdoc supports four different input markups (Lambtex,
Lambwiki, Lambxml, and Markdown) and has the ability to output a Html5 value
compatible with Tyxml or Eliom applications.  For a more comprehensive list of
features and important notes concerning this first beta version, I refer you to
the blog post that announces this release:


And yes, Lambdoc 1.0-beta1 is already available on OPAM.

Best regards,
Dario Teixeira


Caml-list mailing list.  Subscription management and archives:
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
Jacques Garrigue | 18 Sep 11:09 2014

[Announce] LablTk 8.06.0 and LablGTK 2.18.2

Dear Camlers,

This is a combined announce for new versions of LablTk and LablGTK.

LablTk is an interface for the Tcl/Tk GUI toolkit, which allows you to
build user interfaces very fast. It comes with the OCamlBrowser
library explorer, which is not only a good demonstration of the
power of LablTk, but also a useful companion in your everyday
program development.


Until ocaml-4.01, LablTk and OCamlBrowser were part of the
standard distribution, but they were spun off to simplify maintenance.
This new release contains a few bug fixes, and an upgrade of
OCamlBrowser for OCaml 4.02 (as a result, ocamlbrowser will
not compile on older versions).

LablGTK is an interface for the Gtk+ toolkit, version 2. It also
wraps many extensions, such as libglade, for rapid prototyping,
or gtksourceview2, for programming editors.


This is a bug fix release.

Both libraries should also soon be available on opam.

Jacques Garrigue

LablTk 8.06.0 changelog:

* Improve configuration, and allow using findlib for installation
* Fix PR#1423: Tkvars.version() call gives Fatal error
* Fix PR#1411: some void-returning functions are wrongly declared with CAMLprim
* Fix PR#1412: wrong declaration for argument of camltk_tk_mainloop
* Add command line flags in ocamlbrowser for -safe-string and -short-paths.
* Update for 4.02.
* Modify tkcompiler to allow widgets with name containing special characters.

LablGTK 2.18.2 changelog:

  * Revert old commit which broke notify signals
  * Quote $(FLINSTALLDIR) in Makefile (cf PR#1342)
  * Update applications/browser for 4.02
  * Make Float_val an alias for Double_val, since it was used
    wrongly anyway (Felix Ruess)
  * Make GObj.misc_ops#add_accelerator polymorphic in the widget of
    the signal (Erkki Seppala)
  * Use properties in GtkAdjustment, rather than direct accessors
  * fix GtkTree.IconView.get_path_at_pos (Thomas Leonard)


Caml-list mailing list.  Subscription management and archives:
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
Bauer, Christoph | 18 Sep 10:04 2014

memory mapped files with bigarray on windows

Dear All,


my program maps  several blocks of a file into memory with Bigarray.Array1.map_file for writing.

Finally the file handle is closed with Unix.close.


On local files system everything works as expected. But if the file is on a network drive,

the resulting file is after the close still  locked [1] and it contains just zeros.


My workaround is, to call  Gc.full_major() before the close. Then all remaining bigarrays are

finalized (the finalizer calls caml_ba_unmap_file(), see bigarray_stubs.c).


Calling Gc.full_major () is somewhat dissatisfying. But I’m not sure how it could be solved more cleanly.

I would expect that Unix.close should unmap all remaining views of the file. But Unix.close knows nothing

about the bigarray mapping.


Maybe a special Bigarray.unmap is the solution.


Does anyone has a better idea?



Christoph Bauer


[1] You can’t delete it in the windows explorer.



Siemens Industry Software GmbH & Co. KG; Anschrift: Franz-Geuer-Str. 10, 50823 Köln;
Kommanditgesellschaft: Sitz der Gesellschaft: Köln; Registergericht: Amtsgericht Köln, HRA 28227;
Geschäftsführung und persönlich haftender Gesellschafter: Siemens Industry Software Management GmbH;
Geschäftsführer: Urban August, Daniel Trebes; Sitz der Gesellschaft: Köln; Registergericht: Amtsgericht Köln, HRB 70858

Gerd Stolpmann | 16 Sep 13:35 2014

[ANN] findlib-1.5.3


a new minor version has been released. This is mostly about the
compatibility Bytes module. First, an installation problem has been
fixed (sometimes it wasn't honoring the install prefix). Second, Bytes
has been updated (by Gabriel Scherer) to also cover recent additions

As always, links for download can be found here:



Gerd Stolpmann, Darmstadt, Germany    gerd <at> gerd-stolpmann.de
My OCaml site:          http://www.camlcity.org
Contact details:        http://www.camlcity.org/contact.html
Company homepage:       http://www.gerd-stolpmann.de

Pascal Hitzler | 16 Sep 10:10 2014

CfP: Semantic Web journal special issues: Linked Data, aignment, smart cities, visualization

The Semantic Web journal currently has several open calls for special 
issue papers, as follows:

3rd Special Call for Linked Dataset Descriptions
[Deadline: September 30, 2014]

Special issue on Ontology and Linked Data Matching
[Deadline: September 30, 2014]

Special issue on The Role of Semantics in Smart Cities
[Deadline: November 14, 2014]

Special Issue on Question Answering over Linked Data
[Deadline: November 30, 2014]

Special Issue on Visual Exploration and Analysis of Linked Data
[Deadline: November 30, 2014]

Special Issue on Human Computation and Crowdsourcing (HC&C) in the 
Context of the Semantic Web
[Deadline: February 27, 2015]

See http://www.semantic-web-journal.net/calls for details.

Best Regards,

Pascal Hitzler.

Prof. Dr. Pascal Hitzler
Dept. of Computer Science, Wright State University, Dayton, OH
pascal <at> pascal-hitzler.de   http://www.knoesis.org/pascal/
Semantic Web Textbook: http://www.semantic-web-book.org
Semantic Web Journal: http://www.semantic-web-journal.net


Caml-list mailing list.  Subscription management and archives:
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Michael Sperber | 16 Sep 10:01 2014

BOB 2015 - 2nd Call for Contributions (Deadline Sep 30)

Submissions on/using/reporting on OCaml welcome!

                         BOB Conference 2015
                       CALL FOR CONTRIBUTIONS
               English: http://bobkonf.de/2015/cfp.html
                German: http://bobkonf.de/2015/cfp.html
                    Deadline: September 30, 2014

You drive advanced software engineering methods, implement ambitious
architectures and are open to cutting-edge innovation? Attend this
conference, meet people that share your goals, and get to know the
best software tools and technologies available today. We strive to
offer you a day full of new experiences and impressions that you can
use to immediately improve your daily life as a software developer.

If you share our vision and want to contribute, submit a proposal for 
a talk or tutorial!

We are looking for talks about best-of-breed software technology,

- functional programming
- reactive programming
- micro-service architectures
- persistent data structures and databases
- …  everything really that isn’t mainstream, but you think should 

Presenters should provide the audience with information that is
practically useful for software developers.  This could take the form of

- experience reports
- introductory talks on technical background
- demos and how-tos

We accept proposals for presentations of 45 minutes (40 minutes talk 
+ 5 minutes questions), as well as 90 minute tutorials for beginners.
The language of presentation should be either English or German.
It should include (in your presentation language of choice):

- an abstract of max. 1500 characters.
- a short bio/cv
- contact information (including at least email)
- a list of 3-5 concrete ideas of how your work can be applied in a developer's daily life
- additional material (websites, blogs, slides, videos of past
  presentations, …)

You can submit your proposal using the following form:


- direct questions to bobkonf at active minus group dot de
- proposal deadline: September 30, 2014
- notification: October 15, 2014
- program: October 2014, 2014

NOTE: The conference fee will be waived for presenters, but travel 
expenses will not be covered.

Program Committee
- Matthias Fischmann, zerobuzz UG
- Matthias Neubauer, SICK AG
- Michael Sperber, Active Group
- Stefan Wehr, factis research

Wissenschaftlicher Beirat
- Annette Bieniusa, TU Kaiserslautern
- Torsten Grust, Uni Tübingen
- Peter Thiemann, Uni Freiburg


Caml-list mailing list.  Subscription management and archives:
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Alexander Romanovsky | 15 Sep 18:52 2014

Call for participation: SERENE 2014 Workshop and Autumn School on Software Engineering for Resilient Systems

             **** CALL FOR PARTICIPATION ****

              The 6th International Workshop 
   on Software Engineering for Resilient Systems (SERENE)
        15-16th October 2014, Budapest, Hungary

                The SERENE Autumn School
     on Engineering Resilient Cyber Physical Systems
        13-14th October 2014, Budapest, Hungary

The SERENE 2014 workshop provides a forum for researchers and
practitioners to exchange ideas on advances in all areas relevant to
software engineering for resilient systems. The SERENE autumn school will
explore the resiliency of cyber physical systems.

- 12 technical papers in 4 sessions
- Keynote on community resilience engineering
- Panel on runtime resilience assessment of dynamic software systems
- SERENE Working Group meeting
- Autumn School on Engineering Resilient Cyber Physical Systems

- Design of Resilient Systems
- Analysis of Resilience
- Verification and Validation
- Monitoring

*** KEYNOTE ***
- Vincenzo De Florio (Univ. of Antwerp, Belgium, and iMinds):
 Community Resilience Engineering: Reflections and Preliminary Contributions

Topic: Views on Runtime Resilience Assessment of Dynamic Software Systems
Organizer: Marco Vieira (University of Coimbra, Portugal)
- Elena Troubitsyna (Abo Akademi University, Finland)
- Katinka Wolter (Freie University Berlin, Germany)
- Vincenzo De Florio (University of Antwerp, Belgium)
- Henry Muccini (University of L’Aquila, Italy)
- Alexander Romanovsky (Newcastle University, UK)

Date: 13-14th October, 2014
Topic: Engineering Resilient Cyber Physical Systems
Director of the school: Henry Muccini (Univ. of L’Aquila, Italy)
Presenters of the Autumn School:
- Gabor Karsai (Vanderbilt University, USA): Resilience in Cyber-Physical
 Systems: Challenges and Opportunities
- Zsolt Kocsis (IBM Hungary): System Management Overview
- Luigi Pomante (Univ. of L’Aquila, Italy): System-Level Concurrent Error
- Imre Kocsis (Budapest Univ. of Technology and Economics):
 Measurement-Driven Resilience Design of Cloud-Based Cyber-Physical

SERENE 2014 will be hosted by Budapest, the capital of Hungary.
- Budapest is a historic city having nearly 2 million inhabitants in
 the heart of Middle Europe.
- Budapest has a vibrant cultural heritage, it offers several tens of
 museums, concert halls and an opera house.
- Junior people may enjoy its specific subculture ranging from jazz
 concerts to ruin pubs.
- Budapest is called the City of Spas with a dozen thermal baths served by
 natural thermal springs.

Detailed information on registration, prices, transportation, hotels, and
local arrangements is available on the SERENE 2014 website:


Caml-list mailing list.  Subscription management and archives:
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
Ashish Agarwal | 15 Sep 17:20 2014

type printing error

The following example leads to an assertion from printtyp.ml when loaded in utop.  I made the example as small as I could, but unfortunately it still depends on a package called Future which in turn depends on Core.

To run it you'll have to do:

$ opam pin add future https://github.com/agarwal/future
Then hit Y to install the package.

$ cat tmp.ml 
open Future_std
let f items =
  Pipe.peek_deferred items >>= function
  | `Comment _ -> return ()

#require "future.std";;

# #use "tmp.ml";;
Fatal error: exception "Assert_failure typing/printtyp.ml:583:12"
Raised at file "bytes.ml", line 220, characters 25-34  

Doing the equivalent in the standard ocaml toploop or compiling with ocamlc/ocamlopt doesn't exhibit this assertion. You correctly get the real error reported:

$ ocamlfind ocamlc -package future.std -thread tmp.ml 
File "tmp.ml", line 5, characters 4-14:
Error: This pattern matches values of type [? `Comment of 'a ]
       but a pattern was expected which matches values of type
         ('b Future_std.Deferred.t as 'b) Future_std.Deferred.t
       The second variant type does not allow tag(s) `Comment

The assertion is also avoided if you replace `open Future_std` with a copy/paste of the relevant part of Future_std.