[ocaml-platform] The OCaml Platform

Sylvain Le Gall sylvain+ocaml at le-gall.net
Mon Feb 11 20:02:41 GMT 2013


2013/2/11 Amir Chaudhry <amc79 at cam.ac.uk>:
> Dear Platform list,
>
> Welcome to those who've joined the list.  Here are some additional notes about the Platform.
>
> ## About the Platform ##
>
> The OCaml Platform combines the core OCaml compiler with a coherent set of libraries, tools, docs and other resources.  It is a project led by OCaml Labs in Cambridge, UK and the requirements and direction of the Platform will be guided by the major stakeholders.  We've already spoken with Jane Street and Citrix, and intend to work closely with other Consortium members too.
>
> It is envisaged that the Platform will initially bundle OCaml 4.01 together with a specific set of libraries.  Package management, continuous integration and support for external libraries will be provided by OPAM (see below).  The other components of v0.1 will be settled on through discussion with the major stakeholders and on this list.  Since components will need to work well with each other, they should not be too numerous at first, and authors should be aware that some future work might be required as the Platform develops.
>

Does it mean they will have to provide interfaces with e.g. monads of
core? (which will probably make everything depends on Core) Or do you
think we will try to have some kind of higher level requirement, like
to have at least a 3rd party module that can integrate?

E.g. considering one of my library "fileutils", does it mean I have to
make fileutils depends on Core or should I just provide a method
"next" to iterate over the results of "ls"?


> We plan to develop compiler enhancements to assist the development of software using the Platform -- for example, some variety of namespaces would likely provide benefits when using lots of modules.  These projects will be discussed individually in groups headed by experts.
>

Does it mean included libraries/tools will have to use this specific
enhancements?

> ## Platform availability ##
>
> We aim for the Platform to be available via other distributions, e.g. Debian, which necessitates binary packages.  Documentation of the included libraries will also be important (see below) and should aid standardisation.

I think we should be more precise on this:
1. target stable distribution of linux Distro (e.g. Debian Stable) at
the time of the release
2. will not aim at being officially part of the Distro (i.e. not try
to have an "ocamlot" package inside Debian)
3. will not interfere with the official package coming from the
distribution (e.g. you can install "ocaml" and
"libfileutils-ocaml-dev" AND "ocamlot" on the same computer).

Point 2. is quite important, because it is clearly an opportunity to
provide a working dev env to people using Debian Stable and that want
to have the latest greatest packages (whereas in Debian, you'll
probably lagging a bit in term of "latest").

>
> ## Documentation ##
>
> As part of the platform efforts we aim to improve the documentation generation of OCaml tools.  The aim is to support the OCaml Platform with fully cross-referenced documentation from source code, including the ability to incorporate interactive tutorials using the js_of_ocaml compiler.  This would also be combined with a single cross-referenced website.
>
> ## Testing and benchmarking ##
>
> A continuous integration framework, based on OPAM, will form part of the Platform infrastructure.  We're calling this infrastructure "OCamlot". OPAM packages can be automatically tested upon submission and reports sent back to maintainers.  OCamlot will execute basic unit tests and also, in later versions, integrate benchmarking.  The build infrastructure is intended to run tests on the full range of community packages in OPAM by using secure virtualization under Citrix XenServer.  If you submit a package, you will be rewarded with regular regression tests across many diverse operating systems and platforms.
>
> ## Releases and updates ##
>
> Upon the first release of the Platform, updates and improvements will form a six-monthly cycle.
>

I propose to have some kind of "moral contract" with upstream, that
will need to backport important patches to the current version of
"ocamlot".


Regards
Sylvain

> Best wishes,
> Amir
> _______________________________________________
> Platform mailing list
> Platform at lists.ocaml.org
> http://lists.ocaml.org/listinfo/platform


More information about the Platform mailing list