Malo MONIN

Étudiant en informatique à l’ENS Rennes.

Computer science student at ENS Rennes.

  1. Baccalauréat
    ≈ A-level
  2. Licence (3 years)
    ≈ bachelor’s degree
  3. Master (2 years)
  4. Doctorate (3 years)

The French academic degrees.

Logo de l’Inria.

Stage de recherche de L3 (été 2023).

Des messages d’erreur plus haut niveau pour les modules OCaml.

Équipe Cambium, centre Inria de Paris.

Stage de recherche de huit semaines au sein de l’équipe Cambium, encadré par Florian Angeletti.

De petites erreurs dans les modules OCaml peuvent facilement générer des messages d’erreur gigantesques aussi peu lisibles qu’informatifs, bien que techniquement corrects. En effet, certains modules contiennent plusieurs milliers de champs. Détecter des erreurs de frappe dans leurs noms peut considérablement améliorer les messages, en proposant des suggestions type « did you mean » au lieu d’une longue liste de champs manquants. Afin d’afficher ces suggestions en temps raisonnable, nous avons développé une manière de les calculer efficacement en utilisant une ingénieuse combinaison d’algorithmes et structures de données courants.

Durant ce stage, nous avons exploré une manière d’améliorer les messages d’erreurs liés aux modules en OCaml en détectant des erreurs de frappe efficacement, à l’aide d’une ingénieuse combinaison d’algorithmes et de structures de données. Ce travail a été implémenté dans un fork du compilateur OCaml et fera bientôt l’objet d’une pull request.

Le rapport de stage (en anglais) est disponible ici.

Inria logo.

L3 research internship (summer 2023).

Higher-level error messages for OCaml modules.

Cambium team, Inria Paris center.

Eight weeks internship within the Cambium team, supervised by Florian Angeletti.

Small mistakes in OCaml modules often result in huge error messages that are both hard to read and uninformative, although technically correct. Indeed, some modules contain many thousands of items. Detecting typos in field names can greatly improve error messages by providing a few “did you mean”-like suggestions to the user instead of a long list of missing fields. In order to display those hints in reasonable time, we have explored a way to compute them efficiently using an ingenious combination of commonly known data structures and algorithms.

During this internship, we explored a way to improve OCaml module error messages by detecting spelling mistakes efficiently using an ingenious combination of algorithms and data structures. An implementation of this work in a fork of the OCaml compiler has been done, and will soon be proposed as a pull request on the main compiler branch.

The internship report is available here.

Logo de l’ENS Rennes.

L3 SIF (2023 – 2024).

ENS Rennes.

Dans le cadre de la L3 SIF à l’ENS de Rennes, j’ai suivi des cours dans les domaines scientifiques suivants :

Dans le cadre de ces enseignements, les langages C, C++, OCaml et Python sont utilisés, ainsi que l’assembleur RISC-V.

Le cursus contient également un module de pédagogie, ainsi que de nombreux séminaires et des cours d’anglais.

Plus d’informations sont disponibles sur la version archivée de page de la L3 SIF en février 2024.

ENS Rennes logo.

L3 SIF (2023–2024).

ENS Rennes.

As part of my third year of licence, I followed courses in the following scientific fields:

In those courses, we use C, C++, OCaml and Python, as well as RISC-V assembly.

I also have a pedagogy module, as well as many seminars, and English lessons.

More information is available on the archived february 2024 webpage for L3 SIF (in French).

Logo du lycée du Parc.

CPGE MP2I puis MPI (2021 – 2023).

Lycée du Parc (Lyon).

La filière MP2I/MPI est destinée aux élèves souhaitant mettre l’accent sur l’informatique. Des notions telles que la théorie de la complexité, les langages formels et la logique sont enseignées, et les langages C et OCaml sont utilisés.

Les préparationnaires y étudient également intensément les mathématiques et la physique.

Lycée du Parc logo.

CPGE MP2I/MPI (2021–2023).

Lycée du Parc (Lyon, France).

The MP2I/MPI pathway is part of the French CPGE system, which prepares French students for grandes écoles, such as ENS Rennes. This pathway focuses specifically on mathematics, computer science, and physics. Students follow courses on computational complexity theory, formal languages and logic, and use C and OCaml.

This corresponds to the first and second years of licence.

Baccalauréat général (2020).

Mention très bien. Spécialités Numérique et sciences informatiques, Mathématiques et Physique-Chimie avec l’option Mathématiques expertes. Section européenne espagnole.

La spécialité NSI introduit aux concepts d’informatique de base tels que les graphes, la récursivité ou la programmation orientée objet.

Baccalauréat général (2020).

Mention très bien (very high honors). Majors: computer science, mathematics and physics & chemistry.

The computer science major introduces students to important topics such as graph theory, recursion, and object oriented programming.