Report on the First Meeting of the Caml Consortium
January 27, 2002
(sorry, there is no french version)
Serge Leblanc (FluxMedia)
- Emmanuel Ledinot (Dassault-Aviation)
- Jean-Marc Eber (LexiFi)
- Maxence Guesdon
- Xavier Leroy (Technical Manager)
- Michel Mauny (Chairman)
- Pierre Weis
Reminder: Michel Mauny mentioned in an electronic message sent the
Consortium members that INRIA proposed that membership fees collected
during year 2001 would serve as 2002 membership fees, given the slow
incoming of membership agreements. Members unanimously decided to accept
2.1 Current state of OCaml development
- presented the recent improvement brought to OCaml, as
well as the current plans. His slides (in French) can be found
- Maxence Guesdon
- presented his work (his slides - in French - are
here) and gave a demo of the
set of tools he is developing.
2.2 OCaml licence: a special licence for members?
With the objective of:
INRIA proposes a double licencing mechanism for the Caml distributions
(OCaml and Caml-Light):
giving more freedom to the Members in using the OCaml compiler, and
- attracting more industrial members,
This way, members could build proprietary software including parts of
OCaml or Caml-Light, and do whatever they want with it. When a company
leaves the Consortium, it keeps the benefit of this licence on all
versions of Caml that have been publicly released so far, but cannot
benefit of this privilege on versions that are released after it
leaves the Consortium.
for all, the current licences (that is, QPL and ``modified
- for members only a ``BSD style'' licence, for the Caml
systems that have been released during their membership.
INRIA is still confident that if members have to improve or fix the
Caml compilers, the corresponding modifications will still be sent to
the development team for integration into the current development tree.
Everyone in the meeting agreed on this idea. INRIA proposed to work
more on this idea (find the `right' license, compatible with the
French laws) and to discuss a proposition by email. Once all members
agree on a specific licence, INRIA shall work on the modifications to
bring to the Partnership Agreement.
2.3 Usage of the 2002 membership fees
Members unanimously decided to postpone the allotment of the fees.
2.4 Future amount of membership fees, and simplification of
the Partnership forms:
About membership fees, everyone agrees on neither increase nor
decrease Option A (2 KEuros).
INRIA proposes to suppress options B (10 KEuros) and C (transfer of
software). This would simplify the Partnership Agreement and make it more
readable to non-members. Everyone agrees on this proposition.
INRIA shall work on new Partnership Agreement (carrying out at the
same time the licence modifications mentioned above, and this
simplification), and propose a new Agreement to all members. This,
again, will occur by email.
2.5 Other issues
A few other issues should have been raised (collected by Michel Mauny
by an email to all members). Unfortunately, the time didn't allow to
discuss these points. Since all of them were questions addressed to
INRIA, here are the answers that INRIA would have given.
Win32 GUI: why in C?
For simplicity: no Win32 API bindings for Caml were available at the
time of this development; moreover, the developer (Jacob Navia,
contractor with INRIA) knows C but not Caml.
Recursive modules, mixins, extensional polymorphism:
these require a fair amount of theoretical foundations, which are
being worked on as part of two PhD theses (J. Furuse and
Xavier Leroy started working on this. We
expect to have a ``packaging'' option to the OCaml compilers in the
next release. This mechanism would be available for bytecode on all
platforms, and for native-code on platforms that support the GNU
``binutils'' tools, i.e. most Unixes plus Windows with Cygwin, but probably
not Windows with Microsoft compiler tools.
Interfaces with Glade:
Maxence's development is more
thightly connected to OCaml than the other Caml/Glade bindings
developed independently. For instance, buttons can be labelled with
an OCaml expression (of type string, of course), and not
only a static constant, as in other interfaces.
after talking to people here at INRIA, this is
the best we can do. INRIA cannot receive money without an invoice of
the corresponding amount.
Optional underscores in numbers (for grouping):
now implemented in the development version of OCaml. The compiler
won't check that the grouping makes sense. (There is no universal
rule; for instance, in Japan, digits are grouped by four, instead of
three.) This is more a kind of documentation. Works for integers, as
well as for floating point numbers.
Syntax for infixes:
there is still a discussion inside the
Caml team about a few details of this. Should be solved soon...