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
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)
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)
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
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
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
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
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.
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.
By OCamlPro & Origin Labs Writing smart contacts may often be a burdensome task, as you need to learn a new language for each blockchain you target. In the Dune Network team, we are willing to provide as many possibilities as possible for developers to thrive in an accessible and secure framework. There are two … A Dune Love story: From Liquidity to Love
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
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
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
We are happy to announce the alpha release of Opam 2.1.0, one year and a half after Opam 2.0.0. Many new features made it in (see the complete changelog or release note for the details), but here are a few highlights of this release. Release highlights The two following features have been around for a … opam 2.1.0 alpha is here!
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
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!
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
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
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
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!
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
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
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
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 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
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
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
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/