• en

OCaml Planet

The OCaml Planet aggregates various blogs from the OCaml community. If you would like to be added, read the Planet syndication HOWTO.

1022 blog posts are available. You can read the 30 more recent ones below or view older ones.

An Introduction to Tezos RPCs: a Basic Wallet — OCamlPro, Nov 15, 2018

In this technical blog post, we will briefly introduce Tezos RPCs through a simple example: we will show how the tezos-client program interacts with the tezos-node during a transfer command. Tezos RPCs are HTTP queries (GET or POST) to which tezos-node replies in JSON format. They are the only way for wallets to interact with the node. However, given the large number of RPCs accepted by the node, it is not always easy to understand which ones can be useful if you want to write a wallet. So, here…

Read more...

Parser Construction With Menhir: A Couple Appetizers — GaGallium (François Pottier), Nov 14, 2018

This post is a shameless advertisement for Menhir, a parser generator for OCaml. It illustrates Menhir’s new input syntax, which was introduced on November 13, 2018. The code fragments shown below are excerpts of valid .mly files.

Ingredients

Suppose I would like to parse and evaluate our good old friends, the arithmetic expressions. For instance, the string "(3 + 4) * 5 - 9" should be accepted and evaluated to the value 26.

I assume that I have a lexical analyzer that can chop…

Read more...

First Open-Source Release of TzScan — OCamlPro, Nov 08, 2018

In October 2017, after the Tezos ICO, OCamlPro started to work on a block explorer for Tezos. For us, it was the most important software that we could contribute to the community, after the node itself, of course. We used it internally to monitor the Tezos alphanet, until its official public release in February 2018, as TzScan. One of TzScan main goals was to make the complex DPOS consensus algorithm of Tezos easier to understand, to follow, especially for bakers who will contribute to it.  Sin…

Read more...

Liquidity Tutorial: A Game with an Oracle for Random Numbers — OCamlPro, Nov 06, 2018

A Game with an oracle

In this small tutorial, we will see how to write a chance game on the Tezos blockchain with Liquidity and a small external oracle which provides random numbers.

Principle of the game

Rules of the game are handled by a smart contract on the Tezos blockchain.

When a player decides to start a game, she must start by making a transaction (i.e. a call) to the game smart contract with a number parameter (let’s call it n) between 0 and 100 (inclusively). The amount that is s…

Read more...

forge.ocamlcore.org expected downtime on 2018-11-01 — OCamlCore Forge News (Sylvain Le Gall), Nov 01, 2018

The forge and related websites will be down for a few hours on 2018-11-01 starting at around 20:30 CEST. The previous downtime was not enough to do the full migration [1]. I will do my best to keep the downtime as short as possible. In the meantime, you can use the "static" website that has been put in place: https://forge-static.ocamlcore.org [1]: https://forge.ocamlcore.org/forum/forum.php?forum_id=963

forge.ocamlcore.org expected downtime on 2018-10-30 — OCamlCore Forge News (Sylvain Le Gall), Nov 01, 2018

The forge and related websites will be down for a few hours on 2018-10-30 starting at around 21:00 CEST. I will do my best to keep the downtime as short as possible. In the meantime, you can use the "static" website that has been put in place: https://forge-static.ocamlcore.org

Full Time: Compiler Engineer at Jane Street in New York & London — GitHub Jobs, Nov 01, 2018

Jane Street is a proprietary quantitative trading firm, focusing primarily on trading equities and equity derivatives. We use innovative technology, a scientific approach, and a deep understanding of markets to stay successful in our highly competitive field. We operate around the clock and around the globe, employing over 500 people in offices in New York, London and Hong Kong.

The markets in which we trade change rapidly, but our intellectual approach changes faster still. Every day, we have …

Read more...

Full Time: Software Developer (Functional Programming) at Jane Street in New York, NY; London, UK; Hong Kong — GitHub Jobs, Nov 01, 2018

Software Developer

Jane Street is a proprietary quantitative trading firm, focusing primarily on trading equities and equity derivatives. We use innovative technology, a scientific approach, and a deep understanding of markets to stay successful in our highly competitive field. We operate around the clock and around the globe, employing over 500 people in offices in New York, London and Hong Kong.

The markets in which we trade change rapidly, but our intellectual approach changes faster still…

Read more...

opam 2.0.1 is out! — OCaml Platform (Raja Boujbel - OCamlPro, Louis Gesbert - OCamlPro), Oct 24, 2018

We are pleased to announce the release of opam 2.0.1.

This new version contains mainly backported fixes, some platform-specific:

  • Cold boot for MacOS/CentOS/Alpine
  • Install checksum validation on MacOS
  • Archive extraction for OpenBSD now defaults to using gtar
  • Fix compilation of mccs on MacOS and Nix platforms
  • Do not use GNU-sed specific features in the release Makefile, to fix build on OpenBSD/FreeBSD
  • Cleaning to enable reproducible builds
  • Update configure scripts

And some opam specific:

  • git: fix git…
Read more...

ocaml-git 2.0 — Tarides (Romain C.), Oct 19, 2018

I'm very happy to announce a new major release of ocaml-git (2.0). This release is a 2-year effort to get a revamped streaming API offering a full control over memory allocation. This new version also adds production-ready implementations of the wire protocol: git push and git pull now work very reliably using the raw Git and smart HTTP protocol (SSH support will come soon). git gc is also implemented, and all of the basic bricks are now available to create Git servers. MirageOS support is a…

Read more...

OCamlPro’s TZScan grant proposal accepted by the Tezos Foundation – joint press release — OCamlPro, Oct 17, 2018

Tezos Foundation and OCamlPro joint press release – October 17, 2018

We are pleased to announce  that the Tezos Foundation has issued a grant to OCamlPro to support its work on TzScan, a block explorer for the Tezos blockchain that will be made open-source.

OCamlPro is a French company and R&D lab, focused on OCaml and blockchain development. OCamlPro, which is an active community member and contributor to Tezos, has initiated several Tezos-related projects such as TzScan and Liquidit…

Read more...

OCamlFormat 0.8 — Tarides (Guillaume P.), Oct 17, 2018

We are proud to announce the release of OCamlFormat 0.8 (available on opam). To ease the transition from the previous 0.7 release here are some highlights of the new features of this release. The full changelog is available on the project repository.

Precedence of options

In the previous version you could override command line options with .ocamlformat files configuration. 0.8 fixed this so that the OCamlFormat configuration is first established by reading .ocamlformat and .ocp-indent files:

ma…
Read more...

OCaml Workshop 2018 — Tarides (Romain C.), Sep 27, 2018

The OCaml Users and Developers Workshop brings together industrial users of OCaml with academics and hackers who are working on extending the language, type system and tools. OCaml 2018 was held on September 27th, 2018 in St. Louis, Missouri, USA, colocated with ICFP 2018.

Check Tarides' talks: RFCs, all the way down! and The OCaml Platform 1.0.

Coq 8.8.2 is out — Coq, Sep 26, 2018

The 8.8.2 release of Coq is available.

Main changes:

  • The kernel does not tolerate capture of global universes by polymorphic universe binders, fixing a soundness break (triggered only through custom plugins)
  • A PDF version of the reference manual is available once again.
  • The coq-makefile targets print-pretty-timed, print-pretty-timed-diff, and print-pretty-single-time-diff now correctly label the "before" and "after" columns, rather than swapping them.
  • The Windows installer now includes many mo…
Read more...

opam 2.0.0 release and repository upgrade — OCamlPro, Sep 19, 2018

We are happy to announce the final release of opam 2.0.0.

A few weeks ago, we released a last release candidate to be later promoted to 2.0.0, synchronised with the opam package repository upgrade.

You are encouraged to update as soon as you see fit, to continue to get package updates: opam 2.0.0 supports the older formats, and 1.2.2 will no longer get regular updates. See the Upgrade Guide for details about the new features and changes.

The website opam.ocaml.org has been updated, with the full…

Read more...

opam 2.0.0 release and repository upgrade — OCaml Platform (Raja Boujbel - OCamlPro, Louis Gesbert - OCamlPro), Sep 18, 2018

We are happy to announce the final release of opam 2.0.0.

A few weeks ago, we released a last release candidate to be later promoted to 2.0.0, synchronised with the opam package repository upgrade.

You are encouraged to update as soon as you see fit, to continue to get package updates: opam 2.0.0 supports the older formats, and 1.2.2 will no longer get regular updates. See the Upgrade Guide for details about the new features and changes.

The website opam.ocaml.org has been updated, with the fu…

Read more...

Continuous Benchmarking & Call for Benchmarks — KC Sivaramakrishnan, Sep 13, 2018

Over the past few weeks, at OCaml Labs, we’ve deployed continuous benchmarking infrastructure for Multicore OCaml. Live results are available at http://ocamllabs.io/multicore. Continuous benchmarking has already enabled us to make informed decisions about the impact of our changes, and should come in handy over the next few months where we polish off and tune the multicore runtime.

Currently, the benchmarks are all single-threaded and run on x86-64. Our current aim is to quantify the perfor…

Read more...

Dune 1.2.0 — Tarides (Etienne M.), Sep 06, 2018

After a tiny but important patch release as 1.1.1, the dune team is thrilled to announce the release of dune 1.2.0! Here are some highlights of the new features in that version. The full list of changes can be found in the dune repository.

Watch mode

When developing, it is common to edit a file, run a build, read the error message, and fix the error. Since this is a very tight loop and developers are doing this hundreds or thousands times a day, it is crucial to have the quickest feedback possi…

Read more...

How to implement type theory in an hour — Andrej Bauer, Aug 25, 2018

I was purging the disk on my laptop of large files and found a video lecture which I forgot to publish. Here it is with some delay. I lectured on how to implement type theory at the School and Workshop on Univalent Mathematics in December 2017, at the University of Birmingham (UK).

You may watch the video and visit the accompanying GitHub repository spartan-type-theory.

Ann: A new ppx for tyre and new version of ppx_regexp | Drup's thingies — Gabriel Radanne, Aug 21, 2018

Some times ago, I released Tyre, a library for Typed Regular Expressions that allows matching, printing and routing. While many people expressed interest, the syntax was (rightfully) considered too obtuse for practical usage. Thanks to Petter A. ‘paurkedal’ Urkedal, this should now be fixed!

Last stretch! Repository upgrade and opam 2.0.0 roadmap — OCaml Platform (Raja Boujbel - OCamlPro, Louis Gesbert - OCamlPro), Aug 02, 2018

A few days ago, we released opam 2.0.0~rc4, and explained that this final release candidate was expected be promoted to 2.0.0, in sync with an upgrade to the opam package repository. So here are the details about this!

If you are an opam user, and don't maintain opam packages

  • You are encouraged to upgrade) as soon as comfortable, and get used to the changes and new features

  • All packages installing in opam 1.2.2 should exist and install fine on 2.0.0~rc4 (if you find one that doesn't, please r…

Read more...

Not-learning is a skill too — Gaius Hammond, Jul 29, 2018

To be successful in tech, it’s well known that you must keep your skills up to date. The onus is on each individual to do this, no-one will do it for you, and companies that provide ongoing personal development are few and far between. Many companies would rather “remix our skills”, which means laying off workers with one skill (on statutory minimum terms) and hiring people with the new skill. Which is short-termist in the extreme; the new workers are no better than the old, th…

Read more...

opam 2.0.0 RC4-final is out! — OCamlPro, Jul 26, 2018

We are happy to announce the opam 2.0.0 final release candidate! 🍾

This release features a few bugfixes over Release Candidate 3. It will be promoted to 2.0.0 proper within a few weeks, when the official repository format switches from 1.2.0 to 2.0.0. After that date, updates to the 1.2.0 repository may become limited, as new features are getting used in packages.

It is safe to update as soon as you see fit, since opam 2.0.0 supports the older formats. See the Upgrade Guide for details about the …

Read more...

opam 2.0.0 RC4-final is out! — OCaml Platform (Raja Boujbel - OCamlPro, Louis Gesbert - OCamlPro), Jul 26, 2018

We are happy to announce the opam 2.0.0 final release candidate! 🍾

This release features a few bugfixes over Release Candidate 3. It will be promoted to 2.0.0 proper within a few weeks, when the official repository format switches from 1.2.0 to 2.0.0. After that date, updates to the 1.2.0 repository may become limited, as new features are getting used in packages.

It is safe to update as soon as you see fit, since opam 2.0.0 supports the older formats. See the Upgrade Guide for details abou…

Read more...

frama-clang 0.0.6, compatible with Frama-C 17 Chlorine is out. Download ithere. — Frama-C, Jul 23, 2018

Algebraic effects and handlers at OPLSS 2018 — Andrej Bauer, Jul 22, 2018

I have had the honor to lecture at the Oregon Programming Language Summer School 2018 on the topic of algebraic effects and handlers. The notes, materials and the lectures are available online:

I gave four lectures which started with the mathematics of algebraic theories, explained how they can be used to model computational effects, how we make a programming langu…

Read more...

OCamlPro’s Tezos block explorer TzScan’s last updates — OCamlPro, Jul 20, 2018

OCamlPro is pleased to announce the latest update of TZScan (http://tzscan.io), its Tezos block explorer to ease the use of the Tezos network. TzScan is now ready for the protocol update scheduled for tomorrow. In addition to some minor bugfixes, the main novelties are:

Read more...

Station F — Tarides (Thomas G.), Jul 17, 2018

We are thrilled to have been accepted into the Founders Progam's 3rd batch at Station F! Station F is "the only startup campus gathering a whole entrepreneurial ecosystem under one roof" and is providing 3000+ desks and 26 international startup programs. Our Paris offices are now located in that incredible place, close to "métro Chevaleret" (Paris 13).

If you are in Paris, drop us an email to visit our beautiful campus!

OCaml 4.07.0 released — Caml INRIA, Jul 10, 2018

Coq 8.8.1 is out — Coq, Jul 09, 2018

The 8.8.1 release of Coq is available.

It includes four critical bug fixes, many other bug fixes, documentation improvements and user message improvements.

For details, see CHANGES and the 8.8.1 milestone. Feedback and bug reports are extremely welcome.

View older blog posts.