Detecting identity functions in Flambda

In some discussions among OCaml developers around the empty type (PR#9459), some people mused about the possibility of annotating functions with an attribute telling the compiler that the function should be trivial, and always return a value strictly equivalent to its argument.Curious about the feasibility of implementing this feature, we advertised an internship with our Detecting identity functions in Flambda

Tutorial: Format Module of OCaml

The Format module of OCaml is an extremely powerful but unfortunately often poorly used module. It combines two distinct elements: pretty-print boxes semantic tags This tutorial aims to demystify much of this module and explain the range of things that you can do with it. Read more (in French)

Alt-Ergo Users’ Club Annual Meeting (2021)

The third annual meeting of the Alt-Ergo Users’ Club took place on April 1! Our annual meeting is the ideal place to review the needs of each partner regarding Alt-Ergo. We were pleased to welcome our partners to discuss the roadmap for future Alt-Ergo developments and improvements. Alt-Ergo is an automatic prover of mathematical formulas, Alt-Ergo Users’ Club Annual Meeting (2021)

Tags: ,

New Try-Alt-Ergo

Have you heard about our Try-Alt-Ergo website? Created in 2014 (see our blogpost), the first objective was to facilitate access to our performant SMT Solver Alt-Ergo. Try-Alt-Ergo allows you to write and run your problems in your browser without any server computation. This playground website has been maintained by OCamlPro for many years, and it’s New Try-Alt-Ergo

opam 2.0.8 release

We are pleased to announce the minor release of opam 2.0.8. This new version contains some backported fixes: Critical for fish users! Don’t add . to PATH. [#4078] Fix sandbox script for newer ccache versions. [#4079 and #4087] Fix sandbox crash when ~/.cache is a symlink. [#4068] User modifications to the sandbox script are no opam 2.0.8 release

2020 at OCamlPro

OCamlPro was created in 2011 to advocate the adoption of the OCaml language and formal methods in general in the industry. While building a team of highly-skilled engineers, we navigated through our expertise domains, delivering works on the OCaml language and tooling, training companies to the use of strongly-typed languages like OCaml but also Rust, 2020 at OCamlPro

Release of Alt-Ergo 2.4.0

A new release of Alt-Ergo (version 2.4.0) is available. You can get it from Alt-Ergo’s website. The associated opam package will be published in the next few days. This release contains some major novelties: Alt-Ergo supports incremental commands (push/pop) from the smt-lib standard. We switched command line parsing to use cmdliner. You will need to Release of Alt-Ergo 2.4.0

Rehabilitating packs using functors and recursivity, part 2.

This blog post and the previous one about functor packs covers two RFCs currently developed by OCamlPro and Jane Street. We previously introduced functor packs, a new feature adding the possiblity to compile packs as functors, allowing the user to implement functors as multiple source files or even parameterized libraries. In this blog post, we Rehabilitating packs using functors and recursivity, part 2.

Tags: , ,

Rehabilitating Packs using Functors and Recursivity, part 1.

OCamlPro has a long history of dedicated efforts to support the development of the OCaml compiler, through sponsorship or direct contributions from Flambda Team. An important one is the Flambda intermediate representation designed for optimizations, and in the future its next iteration Flambda 2. This work is funded by JaneStreet. Packs in the OCaml ecosystem Rehabilitating Packs using Functors and Recursivity, part 1.

[Interview] Sylvain Conchon joins OCamlPro

On April 2020, Sylvain Conchon joined the OCamlPro team as our Chief Scientific Officer on Formal Methods. Sylvain is a professor at University Paris-Saclay, he has also been teaching OCaml in universities for about 20 years. He is the co-author of Apprendre à programmer avec OCaml with Jean-Christophe Filliâtre, a book for students in French [Interview] Sylvain Conchon joins OCamlPro

A Solidity parser in OCaml with Menhir

This article is cross-posted on Origin Labs’ Dune Network blog. We are happy to announce the first release of our Solidity parser, written in OCaml using Menhir. This is a joint effort with Origin Labs, the company dedicated to blockchain challenges, to implement a full interpreter for the Solidity language directly in a blockchain. Solidity A Solidity parser in OCaml with Menhir

opam 2.0.7 release

We are pleased to announce the minor release of opam 2.0.7. This new version contains backported small fixes: – Escape Windows paths on manpages [#4129 @AltGr @rjbou]– Fix opam installer opam file [#4058 @rjbou]– Fix various warnings [#4132 @rjbou @AltGr – fix #4100]– Fix dune 2.5.0 promote-install-files duplication [#4132 @rjbou] Note: To homogenise macOS name opam 2.0.7 release

An in-depth Look at OCaml’s new “Best-fit” Garbage Collector Strategy

The Garbage Collector probably is OCaml’s greatest unsung hero. Its pragmatic approach allows us to allocate without much fear of efficiency loss. In a way, the fact that most OCaml hackers know little about it is a good sign: you want a runtime to gracefully do its job without having to mind it all the An in-depth Look at OCaml’s new “Best-fit” Garbage Collector Strategy

Tags: , ,

New version of TryOCaml in beta!

We are happy to announce that our venerable “TryOCaml” service is being retired and replaced by a new, modern version based upon our work on Learn-OCaml. → Try it here ← The new interface provides an editor panel besides the familiar top-level, error and warning positions highlighting, the latest OCaml release (4.10.0), local storage of New version of TryOCaml in beta!

Tags: ,

Alt-Ergo Users’ Club Annual Meeting

The second annual meeting of the Alt-Ergo Users’ Club was held in mid-February. Our annual meeting is the perfect place to review each partner’s needs regarding Alt-Ergo. This year, we had the pleasure of receiving our partners to discuss the roadmap for future Alt-Ergo developments and enhancements. Alt-Ergo is an automatic mathematical formula checker, jointly Alt-Ergo Users’ Club Annual Meeting

Tags:

2019 at OCamlPro

OCamlPro was created to help OCaml and formal methods spread into the industry. We grew from 1 to 21 engineers, still strongly sharing this ambitious goal! The year 2019 at OCamlPro was very lively, with fantastic accomplishments all along! Let’s quickly review the past years’ works, first in the world of OCaml (flambda2 & compiler optimisations, 2019 at OCamlPro

Tags: , , , , , , , , , ,

opam 2.0.6 release

We are pleased to announce the minor release of opam 2.0.6. This new version contains some small backported fixes and build update: Don’t remove git cache objects that may be used [#3831 @AltGr] Don’t include .gitattributes in index.tar.gz [#3873 @dra27] Update FAQ uri [#3941 @dra27] Lock: add warning in case of missing locked file [#3939 opam 2.0.6 release

The Opam 2.0 cheatsheet, with a new theme!

Earlier, we dusted-off our Language and Stdlib cheatsheets, for teachers and students. With more time, we managed to design an Opam 2.0 cheat-sheet we are proud of. It is organized into two pages: The everyday average Opam use: Installation, Configuration, Switches, Allowed URL formats, Packages, Exploring, Package pinning, Working with local pins, Sharing a dev The Opam 2.0 cheatsheet, with a new theme!

OCaml expert and beginner training by OCamlPro (in French): Nov. 5-6 & 7-8

In our endeavour to encourage professional programmers to understand and use OCaml, OCamlPro will be giving two training sessions, in French, in our Paris offices: OCaml Beginner course for professional programmers (5-6 Nov) OCaml Expertise (7-8 Nov). The “Expert” OCaml course is for already experienced OCaml programmers to better understand advanced type system possibilities (objects, OCaml expert and beginner training by OCamlPro (in French): Nov. 5-6 & 7-8

Updated Cheat Sheets: OCaml Language and OCaml Standard Library

In 2011, we shared several cheat sheets for OCaml. Cheat sheets are helpful to refer to, as an overview of the documentation when you are programming, especially when you’re starting in a new language. They are meant to be printed and pinned on your wall, or to be kept in handy on a spare screen. Updated Cheat Sheets: OCaml Language and OCaml Standard Library

OCamlPro’s compiler team work update

The OCaml compiler team at OCamlPro is happy to present some of the work recently done jointly with JaneStreet’s team. A lot of work has been done towards a new framework for optimizations in the compiler, called Flambda2, aiming at solving the shortcomings that became apparent in the Flambda optimization framework (see below for more OCamlPro’s compiler team work update

Tags:

opam 2.0.5 release

We are pleased to announce the minor release of opam 2.0.5. This new version contains build update and small fixes: Bump src_ext Dune to 1.6.3, allows compilation with OCaml 4.08.0. [#3887 @dra27] Support Dune 1.7.0 and later [#3888 @dra27 – fix #3870] Bump the ocaml_mccs lib-ext, to include latest changes [#3896 @AltGr] Fix cppo detection opam 2.0.5 release

The Alt-Ergo SMT Solver’s results in the SMT-COMP 2019

The results of the SMT-COMP 2019 were released a few days ago at the SMT whorkshop during the 22nd SAT conference. We were glad to participate in this competition for the second year in a row, especially as Alt-Ergo now supports the SMT-LIB 2 standard. Alt-Ergo is an open-source SAT-solver maintained and distributed by OCamlPro The Alt-Ergo SMT Solver’s results in the SMT-COMP 2019

Tags: ,

Blockchains @ OCamlPro: an Overview

OCamlPro started working on blockchains in 2014, when Arthur Breitman came to us with an initial idea to develop the Tezos ledger. The idea was very challenging with a lot of innovations. So, we collaborated with him to write a specification, and to turn the specification into OCaml code. Since then, we continually improved our skills Blockchains @ OCamlPro: an Overview

Tags: , , , ,

opam 2.0.4 release

We are pleased to announce the release of opam 2.0.4. This new version contains some backported fixes: Sandboxing on macOS: considering the possibility that TMPDIR is unset [#3597 @herbelin – fix #3576] display: Fix opam config var display, aligned on opam config list [#3723 @rjbou – rel. #3717] pin: update source of (version) pinned directory opam 2.0.4 release

Release : Liquidity version 1.0 !

Nous sommes fiers d’annoncer la release de la première version majeure de Liquidity, le langage de smart contracts et son outillage. Parmi les fonctions phares : multiples points d’entrée, système de contrats modulaire, polymorphisme et inférence de type, syntaxe ReasonML pour une plus grande adoption, etc. Voir http://ocamlpro.com/2019/03/08/announcing-liquidity-version-1-0/ ‎