Previous week Up Next week


Here is the latest OCaml Weekly News, for the week of February 25 to March 04, 2014.

  1. IOCamlJS v0.1
  2. Google summer of code
  3. Static analysis developer and C/C++ compiler architect positions at MathWorks Grenoble
  4. Summer internships at Jane Street
  5. Bioinformatics Js_of_ocaml GSoC project
  6. Other OCaml News

IOCamlJS v0.1


Andy Ray announced:

IOCamlJS runs a (compiled-to-javascript) OCaml REPL in the IPython
notebook. stdout and stderr are redirected to the notebook interface
so printf works as expected. The js_of_ocaml and lwt syntax extensions
are enabled.

Only a small API for interacting with the notebook is provided by
iocamljs at the moment; js_of_ocaml provides far greater

The demo notebook js_of_ocaml-webgl-demo.ipynb provides a good example
of what can be done. Its an almost direct copy of the js_of_ocaml
WebGL demo except the 3d model, shader code, ocaml code and html code
are all embedded in the notebook and can be compiled and run live in
the browser.

Nothing needs to be (re)compiled for it to run - so long as you have a
IPython 1.1 installed the github repo has everything you need.  It
might even run on Windows....(I haven't tried but why not?!).



PS I have only tested with IPython 1.1 and the way it hacks the
ipython kernel I wouldn't recommend a different version for now.
Andy Ray later added:
> It might even run on Windows....(I haven't tried but why not?!).

Why not indeed.  Get IPython from here;

Chrome or Firefox would be best - IE does work but the notebook isn't
looking totally right.

Google summer of code


Anil Madhavapeddy announced:
Although we didn't apply directly from OCaml, I thought I'd point out two 
projects that have been accepted that do use OCaml.

- MirageOS; a unikernel written in OCaml that compiles to specialised kernels.
  Because a Mirage app is functorized across its OS dependencies, it's possible
  to port it to rather exotic targets such as JavaScript, while maintaining the
  same module interfaces.  Tips and ideas for Mirage available here:

- Frenetic is a family of network programming languages that let you control
  your network via software defined interfaces.  Ideas for it are up at:

There may be others here that I haven't spotted:

I'd highly recommend any students who have a spare summer coming up to
apply.  Bonus points for any brave souls that propose combining Frenetic
and MirageOS into an OCaml monster that will take over the Internet :-)

Static analysis developer and C/C++ compiler architect positions at MathWorks Grenoble


Tiphaine Turpin announced:
MathWorks is opening two positions in Grenoble, France:
* an expert in static analysis of code using formal methods (model
checking, abstract interpretation or theorem proving...), especially on
concurrent embedded programs, with working knowledge of functional
programming languages
* an expert in C/C++ compiler architecture and framework (like LLVM).

Polyspace tools find bugs and prove their absence in C/C++ applications
and Simulink models, using state-of-the-art static analysis. It is used
to verify embedded software and especially safety-critical systems in
planes, trains, and automobiles.

Please refer to the full job descriptions for application:

Static Analysis and Formal Methods Senior Developer

C/C++ Compiler Architect

Summer internships at Jane Street


Yaron Minsky announced:
Jane Street is looking to hire functional programmers for our offices
in New York, London and Hong Kong.  Right now we're especially looking
for interns for this upcoming summer.

Interning at Jane Street is a challenging and varied experience.  Here
are some of the projects our interns have completed.

- Developing an FRP-style toolkit for building sophisticated text-mode
- Rewriting and generalizing our RPC messaging library using session
- Prototyping optimizations to the OCaml compiler
- Working on the internals of Async, our monadic concurrency library

Many of our intern projects make their way out as open-source
projects.  Interns also learn about Jane Street's trading business
through lectures and more interactive training sessions.  Plus, there
are a lot of fun social activities throughtout the summer.

If you're interested in an internship, or know someone who might be,
applications can be submitted here.

And as usual, we're also hiring developers for fulltime positions in
NYC, Hong Kong and London as well!

Bioinformatics Js_of_ocaml GSoC project


Ashish Agarwal announced:
I'd like to announce a Biocaml [1] project for the Google Summer of Code
[2], which is being hosted under the Open Bioinformatics Foundation
[3,4]. Please get in touch with me if you are interested! Feel free to
propose other project ideas as I'm happy to mentor any project involving
Bioinformatics and OCaml. See here [5] for an up-to-date announcement,
but I've also pasted the announcement below.

Project: Bioinformatics Js_of_ocaml Visualization Toolkit

Rationale: OCaml is a strong statically typed functional programming
language. Usually one does not consider such languages for front-end
development, but the Js_of_ocaml compiler is causing OCaml to be more
widely used for building websites. Js_of_ocaml compiles OCaml code to
pure Javascript and the generated Javascript has very good performance.
On the other hand, bioinformatics data analysis needs to be conducted by
a broader range of users, which requires more elegant user interfaces
with high quality data visualization.

Approach: Write an OCaml library that can be used to visualize large
data sets efficiently and interactively in the browser. The library
should be smart enough to work on the client side when possible, but
make server side calls when necessary. You may want to use Eliom for
this purpose. You can connect to parsers and data structures available
in Biocaml as needed. As demonstration of success, it should be possible
to create genome visualizations like that of the UCSC genome browser and
protein interaction networks like that of Cytoscape.

Difficulty and needed skills: This project is for intermediate to
advanced programmers. You will need to be already familiar with OCaml
(or closely related languages like F# and Haskell) and have a basic
understanding of Javascript and client/server programming.


Other OCaml News

From the ocamlcore planet blog:
Thanks to Alp Mestan, we now include in the OCaml Weekly News the links to the
recent posts from the ocamlcore planet blog at

ICFP 2014 - a call for sponsorship and how you can help:

A much shorter proof of a recent result on a conjecture by Erd?s:

Full Time: Platform Engineer at Gawker Media in New York, NY:

Ocsigen 2013/2014:

MirageOS is in Google Summer of Code 2014:

Old cwn

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.

Alan Schmitt