Articles tagged with ocaml


Authors: Leo Boitel
Date: 2021-07-16
Category: OCaml
Tags: ocaml, flambda, fr

Au cours de discussions parmi les développeurs OCaml sur le type vide (PR#9459), certains caressaient l’idée d’annoter des fonctions avec un attribut indiquant au compilateur que la fonction devrait être triviale, et toujours renvoyer une valeur strictement équivalente à son argument. Nous ... (Read more)

Authors: Leo Boitel
Date: 2021-07-16
Category: OCaml
Tags: ocaml, 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 feas... (Read more)

Authors: Adrien Champion
Date: 2020-12-01
Category: Rust

Memthol is a visualizer and analyzer for program profiling. It works on memory dumps containing information about the size and (de)allocation date of part of the allocations performed by some execution of a program. For information regarding building memthol, features, browser compatibility… refer... (Read more)

Authors: Pierrick Couderc
Date: 2020-09-30
Category: OCaml
Tags: ocaml

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 ... (Read more)

Authors: Pierrick Couderc
Date: 2020-09-24
Category: OCaml
Tags: ocaml

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. Th... (Read more)

Authors: Thomas Blanc
Date: 2020-03-23
Category: OCaml
Tags: best fit, fr, gc, ocaml

An in-depth Look at OCaml’s new "Best-fit" Garbage Collector Strategy](/blog/2020_03_23_in_depth_look_at_best_fit_gc) Le GC d’OCaml oeuvre discrètement à l’efficacité de vos allocations mémoire. Tel un héros de l’ombre, il reste méconnu de la plupart des hackers OCaml. Avec l’arrivé... (Read more)

Authors: Thomas Blanc
Date: 2020-03-23
Category: OCaml
Tags: ocaml, highlights, GC

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:... (Read more)

Authors: Louis Gesbert
Date: 2020-03-16
Category: Tooling

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 lates... (Read more)

Authors: OCamlPro
Date: 2020-02-04
Category: OCamlPro

2019 at OCamlPro OCamlPro a pour ambition d’aider les industriels dans leur adoption du langage OCaml et des méthodes formelles. L’entreprise est passée d’1 à 21 personnes et est restée fidèle à cet objectif. L’année 2019 chez OCamlPro a été très animée, et le nombre de réalisati... (Read more)

Authors: Thomas Blanc
Date: 2019-09-20
Category: OCaml

A look back on OCaml since 2011 As you already know if you’ve read our last blogpost, we have updated our OCaml cheat sheets starting with the language and stdlib ones. We know some of you have students to initiate in September and we wanted these sheets to be ready for the start of the school yea... (Read more)

Authors: Thomas Blanc
Date: 2019-09-13
Category: OCaml

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. ... (Read more)

Authors: Thomas Blanc
Date: 2019-09-13
Category: OCaml

Les mémentos (cheat-sheets) OCaml lang et OCaml stdlib partagés par OCamlPro en 2011 ont été mis à jour pour OCaml 4.08. Le langage OCaml OCaml Standard Library Si vous souhaitez contribuer des améliorations: sources sur GitHub. En savoir plus : Updated Cheat Sheets: OCaml Language and OCaml S... (Read more)

Authors: Muriel, OCamlPro
Date: 2019-02-04
Category: OCamlPro

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... (Read more)

Authors: chambart
Date: 2018-04-01
Category: OCaml
Tags: OCaml

This time of the year is, just like Christmas time, a time for laughs and magic... although the magic we are talking about, in the OCaml community, is not exactly nice, nor beautiful. Let's say that we are somehow akin to many religions: we know magic does exist , but that it is satanic and shouldn'... (Read more)

Authors: chambart
Date: 2017-04-01
Category: OCaml
Tags: OCaml

As you may have noticed, on the begining of April I have some urge to write something technical about some deeply specific point of OCaml. This time I'd like to tackle that through sudoku. It appeard that Sudoku is of great importance considering the number of posts explaining how to write a solver.... (Read more)

Authors: chambart
Date: 2016-04-01
Category: OCaml
Tags: OCaml

As you may know, there is a subset of Javascript that compiles efficiently to assembly used as backend of various compilers including a C compiler like emscripten. We'd like to present you in the same spirit how never to allocate in OCaml. Before starting to write anything, we must know how to find ... (Read more)

Authors: Çagdas Bozman
Date: 2015-04-13
Category: Tooling

A few months ago, a memory leak in the Scanf.fscanf function of OCaml’s standard library has been reported on the OCaml mailing list. The following “minimal” example reproduces this misbehavior: Let us see how to identify the origin of the leak and fix it with our OCaml memory profiler. Instal... (Read more)

Authors: Çagdas Bozman
Date: 2014-04-01
Category: OCaml

OCaml 4.01 with its new feature to disambiguate constructors allows to do a nice trick: a simple and generic syntax extension that allows to define your own syntax without having to write complicated parsetree transformers. We propose an implementation in the form of a ppx rewriter. it does only a s... (Read more)

Date: 2013-12-03
Category: OCaml
Tags: ocaml, tooling

New Team Members We are pleased to welcome three new members in our OCamlPro team since the beginning of November: Benjamin Canou started working at OCamlPro on the Richelieu project, an effort to bring better safety and performance to the Scilab language. He is in charge of a type inference algorit... (Read more)

Authors: Çagdas Bozman
Date: 2013-08-05
Category: OCamlPro

Once again, here is the summary of our activities for last month. The highlight this month is the release of ocaml-top, an interactive editor for education which works well under Windows and that we hope professors all around the world will use to teach OCaml to their students. We are also continuyi... (Read more)

Authors: Chambart
Date: 2013-07-11
Category: OCaml

As announced some time ago, I am working on a new intermediate language within the OCaml compiler to improve its inlining strategy. After some time of bug squashing, I prepared a testable version of the patchset, available either on Github (branch flambda_experiments), or through OPAM, in the follow... (Read more)

Authors: Çagdas Bozman
Date: 2013-07-01
Category: OCamlPro

It is time to give a brief summary of our recent activities. As usual, our contributions were focused on three main objectives: make the OCaml compiler faster and easier to use; make the OCaml developers more efficient by releasing new development tools and improving editor supports; organize and pa... (Read more)

Authors: chambart
Date: 2013-05-24
Category: OCaml

Doing the compiler's work Working at OCamlPro may have some drawbacks. I spend a lot of time hacking the OCaml compiler. Hence when I write some code, I have a good glimpse of what the generated assembly will look like. This is nice when I want to write performance sensitive code, but as I usually w... (Read more)

Authors: Çagdas Bozman
Date: 2013-04-22
Category: OCamlPro

This post aims at summarizing the activities of OCamlPro for the past month. As usual, we worked in three main areas: the OCaml toolchain, development tools for OCaml and R&D projects. The toolchain Our multi-runtime implementation of OCaml had gained stability. Luca fixed a lot of low-level bugs in... (Read more)

Authors: Çagdas Bozman
Date: 2013-04-02
Category: Tooling

Last week, I was bored doing some paperwork, so I decided to hack a little to relieve my mind... Looking for a GUI Framework for OCaml Beginners Some time ago, at OCamlPro, we had discussed the fact that OCaml was lacking more GUI frameworks. Lablgtk is powerful, but I don’t like it (and I expect ... (Read more)

Authors: Çagdas Bozman
Date: 2013-02-18
Category: OCamlPro

From the early days of OCamlPro, people have been curious about our plans; they were asking how we worked at OCamlPro and what we were doing exactly. Now that we have started releasing projects more regularly, these questions come again. They are very reasonable questions, and have resolved to be mo... (Read more)

Date: 2012-08-20
Category: OCaml
Tags: ocaml, tooling

OCaml 4.00.0 has been released on July 27, 2012. For the first time, the new OCaml includes some of the work we have been doing during the last year. In this article, I will present our main contributions, mostly funded by Jane Street and Lexifi. Binary Annotations for Advanced Development Tools OCa... (Read more)

Authors: Çagdas Bozman
Date: 2012-08-08
Category: OCaml
Tags: ocaml, tooling

We have recently worked on modifying the OCaml system to be able to profile OCaml code on Linux amd64 systems, using the processor performance counters now supported by stable kernels. This page presents this work, funded by Jane Street. The patch is provided for OCaml version 4.00.0. If you need it... (Read more)

Date: 2011-08-10
Category: OCaml
Tags: ocaml, tooling

We have recently worked on modifying the OCaml system to be able to pack a set of modules within a functor, parameterized on some signatures. This page presents this work, funded by Jane Street. All the patches on this page are provided for OCaml version 3.12.1. Packing Functors Installation of the ... (Read more)

Date: 2011-06-23
Category: Tooling

Recently, I have been experimenting wiht OCaml / MSVC running on Windows 7 64bit. I have mainly followed what the OCaml’s README.win32 was saying and I learned some NSIS tricks. The result of this experiment is the following two (rather big) windows binaries : ocaml-trunk-64-installer.exe (92 MB) ... (Read more)

Date: 2011-06-03
Category: Tooling

When you are beginning in a new programming language, it is sometimes helpful to have an overview of the documentation, that you can pin on your wall and easily have a look at it while you are programming. Since we couldn’t find such Cheat Sheets, we decided to start writting our own cheat sheets ... (Read more)

Date: 2011-05-06
Category: Tooling

You will need OCaml 3.11.2 installed on a i686 linux computer. The archive contains: libcamlrun-linux-i686.a ocamlrun-linux-i686 Makefile README The Makefile has two targets: sudo make install will save /usr/bin/ocamlrun and /usr/lib/ocaml/libcamlrun.a in the current directory and replace them with ... (Read more)