Services

Compilateurs et langages sur mesure

Un langage généraliste ne colle jamais parfaitement à votre domaine. Nous étendons des compilateurs existants (GCC, LLVM, GnuCOBOL) ou concevons des langages dédiés (DSL) sur mesure, avec la sémantique formelle qui garantit leur comportement.

Flambda2
backend OCaml
Kopek
DSL finance

Performance ciblée

Un compilateur généraliste optimise pour le cas moyen. Le vôtre peut optimiser exactement pour votre domaine, vos structures de données, votre matériel cible.

Sûreté par construction

Un DSL restreint l'espace des programmes possibles : des classes entières de bugs deviennent tout simplement impossibles à écrire.

Indépendance vis-à-vis des éditeurs

Un dialecte propriétaire ou un outil legacy ne doit pas dicter votre feuille de route. Nous reprenons le contrôle de votre chaîne de compilation.

Preuve par l'exemple

Flambda2 : le backend d'optimisation d'OCaml

Nous développons et maintenons Flambda2 avec Jane Street, l'un des plus gros utilisateurs d'OCaml au monde. Une démonstration concrète de notre capacité à faire évoluer un compilateur de production, à grande échelle.

OCamlJane StreetOpen SourceProduction
Expertise

Notre expertise en compilateurs et DSL

Extension de compilateurs existants

GCC, LLVM, GnuCOBOL : nous ajoutons des dialectes, des cibles et des optimisations à des compilateurs déjà en production.

Conception de DSL

Langages dédiés à votre domaine métier, avec une sémantique formelle garantissant leur comportement, comme pour Kopek.

Optimisations backend

Passes d'optimisation sur mesure, comme notre travail sur Flambda2 pour le compilateur OCaml.

Portage vers de nouvelles cibles

WebAssembly, architectures embarquées : nous portons votre langage là où vous en avez besoin.

Outillage développeur

LSP, coloration syntaxique, autocomplétion : un langage sur mesure mérite les mêmes outils qu'un langage mainstream.

Défis

Problèmes résolus par un compilateur sur mesure

Dialecte propriétaire non supporté

Votre code dépend d'une extension propriétaire d'un compilateur historique ? Nous l'implémentons dans l'outil open source équivalent, comme pour GnuCOBOL.

Performance insuffisante

Un langage généraliste ne tient pas la charge sur votre cas d'usage ? Nous concevons le langage ou le compilateur qui la tient.

Verrouillage propriétaire

Dépendre d'un compilateur ou d'un IDE propriétaire vous expose. Nous construisons des alternatives ouvertes et maintenables.

Langage métier non sûr

Vos règles métier sont encodées dans du code généraliste, source d'erreurs. Un DSL les rend explicites et vérifiables.

Démarrer

Un compilateur ou un langage à faire évoluer ?