The OCaml Meeting is the a place where OCaml enthusiasts can meet and discuss various subjects ranging from webservers to parser/lexer of natural languages in OCaml. Most of the topics focus on practical OCaml subjects (libraries or applications) but broadening the field is allowed.

The OCaml Meeting is the a place where OCaml enthusiasts can meet and discuss various subjects ranging from webservers to parser/lexer of natural languages in OCaml. Most of the topics focus on practical OCaml subjects (libraries or applications) but broadening the field is allowed.

[http://ocsigen.org/js_of_ocaml Js_of_ocaml] is a compiler of OCaml bytecode to Javascript. It makes it possible to run Ocaml programs in a Web browser. Its key features are the following:

+

*The whole language, and most of the standard library are supported.

+

*The generated code runs very fast

+

*The compiler is easy to install: it only depends on Findlib and Lwt.

+

*The generated code is independant of Eliom and the Ocsigen server. You can use it with any Web server.

+

*You can use a standard installation of OCaml to compile your programs. In particular, you do not have to recompile a library to use it with Js_of_ocaml. You just have to link your program with a specific library to interface with the browser APIs.

+

*Binding Javascript libraries is very easy

+

+

In this talk we will show you the main features and some examples.

+

+

Jérôme Vouillon is a computer science researcher at [http://www.pps.jussieu.fr PPS] and [http://www.irill.org IRILL] (CNRS), member of the [http://ocsigen.org Ocsigen] team.

[http://ocsigen.org Ocsigen Eliom] is an extension for the Web server of the Ocsigen project allowing to write Web applications in Ocaml.

+

Eliom 1 made very easy to write reliable Web sites where pages are computed on server side.

+

Thanks to the js_of_ocaml compiler, it is now possible to run OCaml programs in a browser.

+

Eliom 2.0, that will be released in very few weeks, will make possible to mix both, and write client/server Web applications fully in OCaml, in very few lines of code.

+

A client/server program is written as a single OCaml application. Eliom handles the communication between the client and the server automatically in both directions, and your application is fully integrated in your Web site, that is: you keep the usual Web interaction (with links, forms, and URLs) during the execution of the client side program!

+

+

In this talk I will show how to write an example application.

+

+

Vincent Balat is a computer science researcher at [http://www.pps.jussieu.fr PPS] and [http://www.irill.org IRILL] (Université Paris Diderot/INRIA), member of the [http://ocsigen.org Ocsigen] team.

===== Using OCaml to generate 198,278 lines of C, by Richard Jones =====

===== Using OCaml to generate 198,278 lines of C, by Richard Jones =====

Line 79:

Line 108:

===== MirageOS, by Anil Madhavapeddy =====

===== MirageOS, by Anil Madhavapeddy =====

-

===== Developping Frama-C Plug-ins in OCaml, by Julien Signoles =====

+

Mirage is an open-source operating system for constructing secure, high-performance, reliable network applications across a variety of cloud computing platforms. OCaml code can be developed on a normal OS such as Linux and then compiled into a fully-standalone, specialised OS kernel that runs under the Xen hypervisor (and in the future, KVM or VMWare). Mirage is based around the OCaml language, with syntax extensions and libraries that are easy to use during development, and map directly into operating system constructs when being compiled for production deployment.

-

[http://frama-c.com Frama-C] is an extensible and collaborative platform dedicated to source-code analysis of C software. It is fully developed in OCaml. Any OCaml developer can extend the platform with a new plug-in in order to add new analyzers or functionalities.

This talk will show the Frama-C architecture and main services and how Ocaml is used to implement them. It also explains specificities of Frama-C plug-in development and their ''raisons d'être''.

+

===== Developing Frama-C Plug-ins in OCaml, by Julien Signoles =====

-

===== Jocaml, by Luc Maranget =====

+

[http://frama-c.com Frama-C] is an extensible and collaborative platform dedicated to source-code analysis of C software. It is fully developed in OCaml. Any OCaml developer can extend the platform with a new plug-in in order to add new analyzers or functionalities. This talk will give a survey of Frama-C and show how to implement a new plug-in in OCaml.

Latest revision as of 10:57, 19 May 2011

This event will take place in Paris. The venue is in Telecom ParisTech (former ENST, the place of the first OCaml Meeting).

The OCaml Meeting is the a place where OCaml enthusiasts can meet and discuss various subjects ranging from webservers to parser/lexer of natural languages in OCaml. Most of the topics focus on practical OCaml subjects (libraries or applications) but broadening the field is allowed.

Talks

Each talk should take between 20 and 25 minutes, plus 10 to 5 minutes of questions. Feel free to submit your talks directly to the organizer (gildor @nospam@ ocamlcore.org) so that we can discuss it and add it the list below. Before the meeting, you should send a copy of your slides to be linked on this page. The deadline for talks submission is 6th April.

The core Caml system: status report and challenges, by Xavier Leroy

Xavier Leroy, senior research scientist at INRIA Paris-Rocquencourt, leads the development team for the core Caml system.

This talk will briefly review ongoing work on the core Caml system and discuss some medium to long-term challenges, both technical and organizational.

OASIS-DB: a CPAN for OCaml, by Sylvain Le Gall

OASIS-DB is a set of tools and a webserver that helps to manage OASIS enabled softwares and libraries to live together. It uses OASIS data to build a database and to understand the link between each packages. It also provides a backup site for tarball. The webserver is built on top of Ocsigen and Lwt.

This talk will show the architecture of OASIS and OASIS-DB and demonstrate some of its low paperwork publication scheme: upload your tarball to the website and let all others download, compile and install it using only 2 commands.

Js_of_ocaml is a compiler of OCaml bytecode to Javascript. It makes it possible to run Ocaml programs in a Web browser. Its key features are the following:

The whole language, and most of the standard library are supported.

The generated code runs very fast

The compiler is easy to install: it only depends on Findlib and Lwt.

The generated code is independant of Eliom and the Ocsigen server. You can use it with any Web server.

You can use a standard installation of OCaml to compile your programs. In particular, you do not have to recompile a library to use it with Js_of_ocaml. You just have to link your program with a specific library to interface with the browser APIs.

Binding Javascript libraries is very easy

In this talk we will show you the main features and some examples.

Jérôme Vouillon is a computer science researcher at PPS and IRILL (CNRS), member of the Ocsigen team.

Client/server Web applications with Eliom, by Vincent Balat

Ocsigen Eliom is an extension for the Web server of the Ocsigen project allowing to write Web applications in Ocaml.
Eliom 1 made very easy to write reliable Web sites where pages are computed on server side.
Thanks to the js_of_ocaml compiler, it is now possible to run OCaml programs in a browser.
Eliom 2.0, that will be released in very few weeks, will make possible to mix both, and write client/server Web applications fully in OCaml, in very few lines of code.
A client/server program is written as a single OCaml application. Eliom handles the communication between the client and the server automatically in both directions, and your application is fully integrated in your Web site, that is: you keep the usual Web interaction (with links, forms, and URLs) during the execution of the client side program!

In this talk I will show how to write an example application.

Vincent Balat is a computer science researcher at PPS and IRILL (Université Paris Diderot/INRIA), member of the Ocsigen team.

Using OCaml to generate 198,278 lines of C, by Richard Jones

We use OCaml in the libguestfs project to generate large amounts of boilerplate C code. This short talk (10 mins) will explain what the problem that existing projects such as libvirt suffered from and how we successfully solved it, and what difficulties remain.

MirageOS, by Anil Madhavapeddy

Mirage is an open-source operating system for constructing secure, high-performance, reliable network applications across a variety of cloud computing platforms. OCaml code can be developed on a normal OS such as Linux and then compiled into a fully-standalone, specialised OS kernel that runs under the Xen hypervisor (and in the future, KVM or VMWare). Mirage is based around the OCaml language, with syntax extensions and libraries that are easy to use during development, and map directly into operating system constructs when being compiled for production deployment.

Developing Frama-C Plug-ins in OCaml, by Julien Signoles

Frama-C is an extensible and collaborative platform dedicated to source-code analysis of C software. It is fully developed in OCaml. Any OCaml developer can extend the platform with a new plug-in in order to add new analyzers or functionalities. This talk will give a survey of Frama-C and show how to implement a new plug-in in OCaml.

JoCaml, by Luc Maranget

JoCaml is an extension of Objective Caml for concurrent
and distributed programming. The last released version of JoCaml features
an extended library intended to facilitate the programming of master/slave
distributed applications aware of failures and machine heterogeneity, and
the control of forked programs. I'll illustrate this new functionalities by the means
of simple examples, where JoCaml acts as a coordination language.

The Eternal Solution for Memoisation: Ephemerons, by François Bobot

Memoization is a powerful tool for writing neat programs but yet
efficient ones. It stores previous function results for latter use.
To avoid memory leaks, a perfect memoization technique would let a
function result be reclaimed as soon as the function argument is
reclaimed. It can be proved that a perfect solution cannot be
implemented with the current Ocaml runtime. We propose a modification
to the Ocaml runtime which provides Hayes's ephemerons. It is then
possible to implement perfect memoization tables.

OCAPIC: programming PIC microcontrollers with Objective Caml

talk by Benoît Vaugon and Philippe Wang

OCAPIC provides means to program PIC microcontrollers with Objective Caml (with no language restrictions, only library changes). Very tight PIC µC resources (only 4KB of volatile memory, at most) made this task a great challenge that has been successfully addressed.

OCAPIC includes OCamlClean, a tool to reduce bytecode binaries by eliminating dead code (works with any binary produced by compiler ocamlc).

Ideas for a Modern OCaml Web Portal by Ashish Agarwal

OCaml lacks the web presence it deserves. The purpose of this talk is to foster discussion of what we as a community want from a modern web portal for OCaml, and how we can begin implementing it. The discussion will be guided by a presentation covering: desired content and design, technological implementation choices, and management of such an effort.

Ashish Agarwal is a Research Scientist at New York University, where he uses OCaml to build bioinformatics software.

Location/Date

It is better to have an identity document (French ID card, passport), however it should not be mandatory to enter the building.

The meeting entrance will be at 46 rue Barrault (main Telecom ParisTech entrance).

Lunch

The meeting is kindly sponsored by the CAML consortium, so the lunch and the coffee breaks are free.

The lunch will take place inside Telecom ParisTech at the cafeteria. A plate with desert and entry will be ready at the Telecom ParisTech cafeteria, you will have to pick the main course in the cafeteria. You will also get a token for coffee. To be allowed to get a plate, you'll have to present a card that will be distributed during the meeting.

Hostels

Telecom ParisTech has had a list of some place where you can book a room:

These addresses are from 2006, so they should have changed. It doesn't include breakfast.

Network/Laptop

During the conference, you can use your laptop and internet through Telecom ParisTech network. In order to do this, you will have two to connect using an ethernet cable. Unfortunately, no wifi connection will be available. Since the number of ethernet plug is limited people are invited to come with some ethernet switches to be able to offer more plugs.

Type E (French) Power plug will also be available, if your laptop doesn't have enough power to stay on battery a whole day. Just as for ethernet plug, people are invited to come with their national adapter for type E power plug and with power strip to be able to offer more plugs.

Participants

The list of participants is maintained here and you can register through this link. You need to have a valid login on the OCaml Forge to register.

There is enough room for 70 people in the room booked and the list of participants will be closed on 8th April.

Hacking day

Like last year, a Hacking day ( or week-end if you are motivated enough ) will be organised. It will hosted by IRILL, http://www.irill.org/about/access. Access to the building is restricted, more information will be given at the meeting.

For more information, contact Pierre Chambart (chambart __AT__ crans.org) which is kindly organizing this hacking day.