# \#atdgen

**URL:** https://discuss.ocaml.org/tag/atdgen/248.md

[Latest](https://discuss.ocaml.org/latest.md) · [Categories](https://discuss.ocaml.org/categories.md) · [Tags](https://discuss.ocaml.org/tags.md)

---

## [RFC: multifile ATD definition support via import statements](https://discuss.ocaml.org/t/rfc-multifile-atd-definition-support-via-import-statements/17881)

<div class="topic-metadata">

**Author:** [@mjambon](https://discuss.ocaml.org/u/mjambon)\
**Replies:** 6\
**Last updated:** [March 12, 2026, 4:18am UTC](https://discuss.ocaml.org/t/rfc-multifile-atd-definition-support-via-import-statements/17881 "2026-03-12T04:18:43Z")

</div>

Hello, We’re adding support for splitting ATD type definitions into smaller files. It wasn’t possible to conveniently reference types defined from other ATD files until now, resulting in large interface files (example)…

---

## [Atdgen - .atd for Constructors with more that one argument](https://discuss.ocaml.org/t/atdgen-atd-for-constructors-with-more-that-one-argument/14088)

<div class="topic-metadata">

**Author:** [@Sachin\_Chauhan](https://discuss.ocaml.org/u/Sachin_Chauhan)\
**Replies:** 6\
**Last updated:** [March 10, 2026, 2:55am UTC](https://discuss.ocaml.org/t/atdgen-atd-for-constructors-with-more-that-one-argument/14088 "2026-03-10T02:55:34Z")

</div>

Hey everyone, Given that i want to generate this type, type constant = Pconst\_integer of string \* char option | Pconst\_char of int | Pconst\_string of string \* string option | Pconst\_float of string \* char opt…

---

## [Using Menhir to parse into idiomatic JS (TypeScript) structures](https://discuss.ocaml.org/t/using-menhir-to-parse-into-idiomatic-js-typescript-structures/13809)

<div class="topic-metadata">

**Author:** [@shonfeder](https://discuss.ocaml.org/u/shonfeder)\
**Replies:** 0\
**Last updated:** [January 7, 2024, 4:16pm UTC](https://discuss.ocaml.org/t/using-menhir-to-parse-into-idiomatic-js-typescript-structures/13809 "2024-01-07T16:16:56Z")

</div>

Hello and Happy New Year! As we all know, despite being named an Objective Categorical Abstract Machine Language, OCaml is Obviously a Completely Awesome Meta Language. The awesomeness is founded on the wonderful langua…

---

## [Unsupported variant on json union type using atdgen](https://discuss.ocaml.org/t/unsupported-variant-on-json-union-type-using-atdgen/11764)

<div class="topic-metadata">

**Author:** [@gpopides](https://discuss.ocaml.org/u/gpopides)\
**Replies:** 6\
**Last updated:** [March 27, 2023, 5:09pm UTC](https://discuss.ocaml.org/t/unsupported-variant-on-json-union-type-using-atdgen/11764 "2023-03-27T17:09:15Z")

</div>

Hello everyone I’m trying out Ocaml and i am facing the following issue: Trying to define an atd file which can handle 2 possible values on a specific field (specifically an SQS response) using the following atd file: …

---

## [Atdpy: derive safe JSON interfaces for Python](https://discuss.ocaml.org/t/atdpy-derive-safe-json-interfaces-for-python/9544)

<div class="topic-metadata">

**Author:** [@mjambon](https://discuss.ocaml.org/u/mjambon)\
**Replies:** 2\
**Last updated:** [March 24, 2022, 9:35pm UTC](https://discuss.ocaml.org/t/atdpy-derive-safe-json-interfaces-for-python/9544 "2022-03-24T21:35:13Z")

</div>

On behalf of the ATD team, I’d like to announce atdpy, which is part of the release 2.3.x of the ATD tools. For now, the best installation method with via opam: $ opam install atdpy Atdpy is a new backend for ATD. It t…

---

## [Input wanted from biniou users (binary format supported by atdgen)](https://discuss.ocaml.org/t/input-wanted-from-biniou-users-binary-format-supported-by-atdgen/2300)

<div class="topic-metadata">

**Author:** [@mjambon](https://discuss.ocaml.org/u/mjambon)\
**Replies:** 6\
**Last updated:** [July 18, 2018, 2:31pm UTC](https://discuss.ocaml.org/t/input-wanted-from-biniou-users-binary-format-supported-by-atdgen/2300 "2018-07-18T14:31:44Z")

</div>

We’d like to get rid of the fragile use of Obj.magic in code generated by atdgen to read biniou records. This might worsen performance but we don’t know until we conduct proper benchmarks and this is a bit of work. We’d…
