Stages @ OCamlPro


A la recherche d'un stage ?


Améliorations pour l’application web Try OCaml
Stage 3-6 mois, niveau M1 à M2 (PDF)

Fonctionnelle et plébiscitée par la communauté OCaml, cette nouvelle version est cependant toujours en version “Beta”, et nous aimerions y apporter une gamme d’améliorations de petite et plus grande envergure. Les objectifs pourront porter sur l’amélioration de l’interface et des fonctionnalités OCaml et Web.

Généralisation de la Récursion terminale modulo constructeur
Stage 3-6 mois, niveau M1 à M2 Recherche (PDF)

L’objectif de ce stage est d’étudier et implémenter cette généralisation. Le stage se déroulera au sein de l’équipe flambda chez OCamlPro qui développe des optimisations sur le langage OCaml.

Interface Graphique pour la Gestion de Paquets d’OCaml
Stage 3-6 mois, niveau M1 à M2 Recherche (PDF)

L’objectif de ce stage est de développer une interface graphique pour opam pour permettre à ses utilisateurs débutants d’accéder rapidement à ses fonctionnalités les plus avancées, tout en rendant la gestion au quotidien de multiples installations d’OCaml plus facile.

Détection de logique minimale d'un problème SMT
Stage 5-6 mois, niveau M1 à M2 (PDF)

La première tâche du stage consistera à établir une liste de critères qui permet de déterminer la logique minimale d’un problème SMTLIB2, et la deuxième partie du stage sera d’implémenter ces critères dans Dolmen.

Développement d’une plateforme de documentation pour une distribution OCaml
Stage 3-6 mois, niveau M1 à M2 Recherche (PDF)

L’objectif de ce stage est de développer une version dynamique de ce site, d’améliorer la génération de la documentation et son ergonomie, et de permettre de naviguer facilement dans les sources des paquets.

Heuristique d'inlining complexe
Stage 3-6 mois, niveau M1 à M2 Recherche (PDF)

Dans un compilateur optimisant, l'inlining est une optimisation centrale, elle permet aux autres optimisations de s'activer. Ce stage contient une large base théorique à développer, le résultat attendu pour OCamlPro sera la théorie et l'expérience acquise, et non le code lui même.

Typage et Analyse de code Cobol
Stage 2-6 mois, niveau M1 à M2 Recherche (PDF)

OCamlPro a acquis une expertise sur le langage COBOL, et a commencé le développement de plusieurs outils, basés sur un parseur COBOL en OCaml, issu d'un travail titanesque. L'objectif de ce stage est de participer au développement de cette boîte à outils en OCaml pour COBOL .

Améliorations de la bibliothèque OCaml-Canvas
Stage 3-6 mois, niveau M1 à M2 (PDF)

[OCaml-Canvas] est une bibliothèque de canevas portable pour OCaml sur les systèmes GNU/Linux (X11 et Wayland), macOS (Quartz) et Windows (GDI), proposant également un backend Javascript pour une utilisation dans un navigateur web. Un des aspects fondamentaux de cette bibliothèque est de limiter au strict minimum les dépendances à des bibliothèques externes, afin de maximiser la portabilité.


Anciens stages


Détection de fonction identité à la compilation
Stage 6 mois, niveau M2 Recherche (PDF)

L’objectif est d’étudier la faisabilité de cette analyse, y compris documenter les choix possibles et leurs avantages et désavantages respectifs. Le stage se déroulera au sein de l’équipe flambda qui développe des optimisations sur le langage OCaml. Le travail réalisé a vocation à être intégré au compilateur officiel par l’équipe flambda par la suite.

Alt-Ergo for the Win(dows)
Stage 3-6 mois, niveau M1 à M2 Recherche (PDF)

Le but premier de ce stage sera de compiler Alt-Ergo sous windows grâce aux outils de la communauté comme la cross compilation de Dune ou opam-cross-windows. Le second but de ce stage sera de mettre en place une intégration continue de cette compilation sous windows sur le dépot Github d’Alt-Ergo via des services comme Azure de Microsoft.

Alt-Ergo Fuzz
Stage 3-6 mois, niveau M1 à M2 Recherche (PDF)

Le premier but de ce stage serait de faire un état des lieux des travaux effectués sur le fuzzing des outils supportant le standard smt-lib, ainsi qu’étudier les résultats de tels outils de fuzzing sur Alt-Ergo. Dans un second temps, le but sera de créer un fuzzer pour le langage d’entrée d’Alt-Ergo.

Alt-Ergo on the bench
Stage 3-6 mois, niveau M1 à M2 (PDF)

La première tâche du stage serait de renforcer la mise en place et l’intégration de l’outil benchpress de Simon Cruanes sur notre serveur. La seconde tâche concernera l’automatisation de tests. Pour cela nous souhaiterions mettre en place un système qui teste notre branche principale du dépôt Github d’Alt-Ergo dès que cette dernière est modifiée.

Améliorations pour l’application web Try OCaml
Stage 3-6 mois, niveau M1 à M2 (PDF)

Fonctionnelle et plébiscitée par la communauté OCaml, cette nouvelle version est cependant toujours en version “Beta”, et nous aimerions y apporter une gamme d’améliorations de petite et plus grande envergure. Les objectifs pourront porter sur l’amélioration de l’interface et des fonctionnalités OCaml et Web.