addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-crosscrosseditemptyheartfacebookfolderfullheartglobegmailgoogleimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartrashtriangle-downtriangle-uptwitteruseryahoo

Js_of_ocaml: The OCaml to Javascript Compiler

  • Jul 11, 2013 · 6:30 PM
  • Jane Street Capital, 33rd Floor

Js_of_ocaml is the compiler from OCaml bytecode to Javascript implemented by Jérôme Vouillon. In other words, it enables client-side programming in a strong, statically-typed functional language. My talk will have three parts:

  • Basics of js_of_ocaml: the compiler, the syntax extension, the standard library, the browser API, and Lwt.
  • Hack #1: Escape the Same Origin Policy (SOP) by doing JSONP-like calls with a nice Lwt API. The goal is to learn how to do low-level Javascript bindings/callbacks with the Js.Unsafe module.
  • Hack #2: Create 3D visualizations using the WebGL module. I'll demonstrate a toy protein visualizer based on geometric information provided in the standard PDB file format.

About Me
I am Sebastien Mondet (“Seb”). I work in the Biology Department of New York University as a Computer Scientist. Before that, I was a postdoc (Oslo, Norway) and a PhD student (Toulouse, France) in distributed multimedia systems. I also worked as an avionics software engineer for an Airbus subcontractor.

I believe that trusting the human brain is a terrible idea. Hence, the fact that most programmers think they can handle C++, Python, or dynamic typing is the main reason why computers and software are in general such a disaster, especially regarding safety or security.

Instead, my goal is to apply formal methods to make software more reliable. I program everything in OCaml; by very far the best practical implementation of an advanced, strong, and static type system, with a cool ecosystem built by people who care about the code.  I also keep a close eye on what will be the next step in real-world software engineering (Coq?).

When, I am not working/hacking, I am most often playing or writing music. Currently I play bass in Lucrative Jacket and acoustic guitar in Plasmonic Wood.

Join or login to comment.

  • prasad r.

    Informative talk from a speaker who is knowledgeable. Nice to know that there are principled alternatives to programming directly in JavaScript.

    July 12, 2013

  • Siraaj K.

    Thank you, Sebastian! js_of_ocaml may be my only hope for getting stuff to work in the browser! :)

    July 12, 2013

    • Siraaj K.

      s/Sebastian/Sebastien/ :)

      July 12, 2013

  • Ashish A.

    Sebastien's slides are not posted on our Files page:

    July 12, 2013

  • Ashish A.

    Sebastien provided a very clear overview of js_of_ocaml, and made it fun too!

    July 12, 2013

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy