# A solution to the ppx versioning problem

DevFeed: [A solution to the ppx versioning problem](<https://devfeed.tech/articles/a-solution-to-the-ppx-versioning-problem-20151.md>)

Original publisher: [Read original article](<https://blog.janestreet.com/an-solution-to-the-ppx-versioning-problem/>)

Author: Jeremie Dimino

Published: 2016-11-08T00:00:00Z

Content type: article

Language: en

Sources: [Jane Street](<https://devfeed.tech/sources/jane-street.md>)

Topics: [OCaml](<https://devfeed.tech/topics/ocaml.md>), [Code](<https://devfeed.tech/topics/code.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [generate](<https://devfeed.tech/tags/generate.md>), [ocaml](<https://devfeed.tech/tags/ocaml.md>), [ppx](<https://devfeed.tech/tags/ppx.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

## AI overview

The article explains how Jane Street addressed ppx versioning problems in OCaml. It describes the benefits of sharing the compiler's AST, the compatibility issues caused by AST evolution, and approaches for preserving usability and producing releases that do not depend on ppx rewriters.

## Source excerpt

Ppx is a preprocessing system for OCaml where one maps over the OCaml abstract syntax tree (AST) to interpret some special syntax fragments to generate code.