Welcome to ATD’s documentation!¶
- The ATD Project
- Feature Support Matrix
- Basic types
- Abstract type
- List / array
- Option type
- Nullable
- Wrap type
- Records
- Sum types
- Tuples
- Parametric types
- Type aliases
- Optional fields
- Default-value fields
- Doc comments
- JSON field names
- JSON variant names
- Assoc as JSON object
- Sum as JSON object
- JSON adapter
- Cross-file imports
- Binary serialization
- Open enumerations
- Feature Support Matrix
- The ATD Language
- C++ Support - atdcpp
- D Support (Dlang) - atdd
- Java Support - atdj
- OCaml Support - atdgen
- Tutorial
- What is atdgen?
- What are the advantages of atdgen?
- Prerequisites
- Getting started
- Inspecting and pretty-printing JSON
- Inspecting biniou data
- Optional fields and default values
- Smooth protocol upgrades
- Data validation
- Modularity: referring to type definitions from another ATD file
- Managing JSON configuration files
- Integration with ocamldoc
- Integration with build systems
- Dealing with untypable JSON
- Atdgen reference
- Tutorial
- OCaml Support - atdml
- Python Support - atdpy
- Scala Support - atds
- TypeScript Support - atdts