OCaml Weekly News

Previous Week Up Next Week

Hello

Here is the latest OCaml Weekly News, for the week of August 21 to 28, 2018.

Table of Contents


ppx_tyre and new version of ppx_regexp

Gabriel Radanne announced

A while ago, I released Tyre, a library for typesafe regular expressions that supports matching, printing, and routing. @paurkedal also released ppx_regex which provides a convenient syntax for defining regular expression matches using a PCRE syntax.

Today, we are happy to announce the release of ppx_tyre, which combines the flexibility and safety of tyre with the convenience of ppx_regexp. This also marks new releases of both tyre and ppx_regexp with improvements and bugfixes. You can find more details in the following blogpost.

https://drup.github.io/2018/08/21/ppx-tyre/


Help needed about the OCaml MOOC

Yann Régis-Gianas announced

Dear OCaml hackers and enthusiasts,

we need your help! The third edition of the OCaml MOOC will start in three weeks and that's probably the perfect opportunity for your friends and all your acquaintances to discover the beauty of functional programming in OCaml. Please, take a minute to spread the word around you!

Three possible actions:

  1. Convince everyone you know to register at https://tinyurl.com/ocamooc3
  2. Print, post and share our flyer https://tinyurl.com/ocamooc3flyer
  3. Post the announcement message which is pasted at the end of this email. It can also be found here https://gist.github.com/yurug/406b1cf63f083fd6aab76fb646aa3e39

Thank you!

Roberto Di Cosmo, Yann Régis-Gianas and Ralf Treinen.

Learn functional programming with the OCaml programming language

Registrations are open!

Functional programming is attracting interest from a broad range of developers because it allows to write expressive, concise and elegant programs.

The course "Introduction to Functional programming using the OCaml language" introduces gradually the central notions of functional programming, via a set of video courses that are complemented by a rich set of interesting exercises that you can perform fully in your browser… Yes, this means you can start learning functional programming without any hassle: nothing to install, nothing to tune up! The programming environment is just one click away!

During the course, you will discover powerful mechanisms that allow to build and manipulate complex data structures in a clean and efficient way. And you will see how functions play a central role, as first-class values that can be freely used in any place where an expression can appear.

Registrations are already open at

https://www.fun-mooc.fr/courses/course-v1:parisdiderot+56002+session03/about

The course will start on September 17th 2018, and will run for six weeks.

Your expected effort is between 2 and 6 hours per week, depending on your background, including the time spent watching the short video sequences of the course, that total approximately an hour per week.

This may seem a significant effort, but at the end of the course you will have actually learned a lot: the final programming project will confirm that you acquired a good mastery of functional programming and the ability to develop medium sized programs with ease.

Thousands of learners attended the first two runs of this course in 2015 and 2016, and the many that completed it were extremely satisfied.

To introduce you to functional programming, we have chosen to use the OCaml programming language. OCaml is a rich, elegant, efficient programming language that reconciles the conciseness and flexibility of untyped programming languages (like Python, for example) with the safety of strongly typed programming languages (like Java, for example), and that has a vibrant user community.

Facebook, Microsoft, JaneStreet, Bloomberg are some big names in industry that adopted OCaml to develop cutting edge applications. The research community uses OCaml for writing tools like the proof assistant Coq, the Coccinelle program transformer, the Frama-C code analyser, or the Astree static analyser. Several start ups use OCaml to obtain tenfold gains in productivity and stability of their code base. Recently, Tezos, one of the most innovative blockchains, has developed its entire software stack using OCaml to get high insurance about the execution of smart contracts.

Once you have started mastering functional programming using OCaml, we are sure that other programming languages will never look the same to you again.

This course will be held in English, but subtitles are already available in English, in Portuguese and in French.

Prerequisites

To take full advantage of this course you should have already some basic knowledge of computer programming, in particular you should already know how to write simple computer programs in some programming language. For instance, you should know concepts like variables (or identifiers), functions (or procedures, methods), conditionals, and loops.


UTop has successfully moved to ocaml-comminuty

Jérémie Dimino announced

I'm happy to announce that utop has successfully moved to ocaml-community.

We started moving utop and two of its dependencies a week ago and activity on these 3 projects has already increased., in particular with several patches to modernize them. This is an encouraging start for the ocaml-community organization!

Perry E. Metzger then added

Also moved are lambda term and zed, and there is now a CI mechanism for all three projects (and will be for all ocaml-community stuff going forward.)


6th MirageOS hack retreat - October 3rd - 10th in Marrakesh (Morocco)

Hannes Mehnert announced

It is an entire week of designing, chasing bugs, coding, with a reasonably large group of MirageOS hackers. Similar to earlier retreats, it will take place in the medina of Marrakesh. There is no schedule, but ad-hoc sessions (talks and/or workshops) are appreciated. If you're interested, find more information in reports from earlier retreats (see https://linse.me/2018/04/20/Visiting-the-camels.html and https://mirage.io/blog/2017-winter-hackathon-roundup and http://ollehost.dk/blog/2017/03/17/travel-report-mirageos-hack-retreat-in-marrakesh-2017/ and even more on http://retreat.mirage.io).

Everybody is welcome, it is usually a mix of MirageOS&OCaml experts and new people, which leads to a good knowledge transfer. Please sign up soon via mail, see details at http://retreat.mirage.io


Introduction Sketch.sh: An interactive sketchbook for OCaml and ReasonML

Khoa Nguyen announced

Hello everyone, over the past few months, I've been working on a little project called Sketch.sh. It's a interactive notebook style (like IPython and Jupyter).

01666dc68fab382762ee73700654673aafdea870.png

It uses Js_of_ocaml's toplevel to evaluate the code completely in browsers. You can save/share the sketch with a url as well.

I created this with the hope to lower the bar for learning OCaml/ReasonML in general. There are a lot of sketch made by people who is learning the language already!

The project is open source on Github so check it out.


Bounty for compilation cache in opam

Louis Roché announced

I started to write a few posts on how opam should be used in my opinion and what to learn for someone comming from the javascript world. To support this effort, I think that compilation cache (I’m not sure that the name is correct, please tell me) is an important feature.

Some good work has already been done to tackle this issue. If you follow the instructions on this page, you should be able to experience instant switch creation or package installation. But it seems that there are still problems with ocamlfind.

As my skills are limited, I hope to motivate contributions on this task by providing a bounty. This is a 300 USD bounty. It can be found in this page: https://www.bountysource.com/issues/1250468-local-cache-of-binary-packages

As a side note, I am thinking that we could have a topic gathering the different existing bounties. I already created one to fix lwt ppx in the past. Ahrefs creates bounties now and then. One central point could help for visibility.


Other OCaml News

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.