Services

Custom compilers and languages

A general-purpose language never fits your domain perfectly. We extend existing compilers (GCC, LLVM, GnuCOBOL) or design domain-specific languages (DSLs) from scratch, with the formal semantics that guarantee their behavior.

Flambda2
OCaml backend
Kopek
finance DSL

Targeted performance

A general-purpose compiler optimizes for the average case. Yours can optimize exactly for your domain, your data structures, your target hardware.

Safety by construction

A DSL restricts the space of possible programs: entire classes of bugs simply become impossible to write.

Independence from vendors

A proprietary dialect or a legacy tool shouldn't dictate your roadmap. We put you back in control of your compilation toolchain.

Proof by example

Flambda2: OCaml's optimizing backend

We develop and maintain Flambda2 together with Jane Street, one of the largest users of OCaml in the world. A concrete demonstration of our ability to evolve a production compiler at scale.

OCamlJane StreetOpen SourceProduction
Expertise

Our compiler and DSL expertise

Extending existing compilers

GCC, LLVM, GnuCOBOL: we add dialects, targets, and optimizations to compilers already running in production.

DSL design

Languages dedicated to your business domain, with formal semantics guaranteeing their behavior, as with Kopek.

Backend optimizations

Custom optimization passes, like our work on Flambda2 for the OCaml compiler.

Porting to new targets

WebAssembly, embedded architectures: we port your language wherever you need it.

Developer tooling

LSP, syntax highlighting, autocompletion: a custom language deserves the same tooling as a mainstream one.

Challenges

Problems solved with a custom compiler

Unsupported proprietary dialect

Does your code depend on a proprietary extension of a legacy compiler? We implement it in the equivalent open source tool, as we did for GnuCOBOL.

Insufficient performance

A general-purpose language can't keep up with your use case? We design the language or compiler that can.

Vendor lock-in

Depending on a proprietary compiler or IDE exposes you to risk. We build open, maintainable alternatives.

Unsafe business language

Your business rules are encoded in general-purpose code, a source of errors. A DSL makes them explicit and verifiable.

Get started

A compiler or language to evolve?