atdgen
ATD stands for Adaptable Type Definitions. It is a syntax for defining
cross-language data types. It is used as input to generate efficient
and type-safe serializers, deserializers and validators. The current target
languages are OCaml and Java.
The following opam packages are provided by the atd project:
atdgen: executable that generates OCaml code dealing with json and
biniou data formatsatdj: executable that generates Java code dealing with json
atd: library for parsing atd files used by code generators
Documentation
Help wanted
The ATD suite of tools is developed and maintained by
volunteers—users like you.
Various issues are in need
of attention. If you'd like to contribute, please leave a comment on the
issue you're interested in, or create a new issue. Experienced
contributors will guide you as needed.
There are many simple ways of making a positive impact. For example,
you can...
Use the software in your project.
Give a demo to your colleagues.
Share the passion on your blog.
Tweet about what you're doing with atd.
Report difficulties by creating new issues. We'll triage them.
Ask questions on StackOverflow.
Answer questions on
StackOverflow.Discuss usage on the OCaml forums.
Pick a task that's easy for you.
Check out in particular
good first time issues
and other issues with which
we could use some help.
See our contribution guidelines.
Authors
The ATD language and atdgen were originally created at MyLife by
Martin Jambon in 2010. Atdj was created at MyLife by John
Billings in 2010. Multiple volunteers contributed to the project after that.
Other prominent contributors include Jeff Meister, David
Sheets, and Rudi Grinberg.
We distribute the source code under the terms of a BSD license.
-
Martin Jambon <martin@mjambon.com>
-
David Sheets <sheets@alum.mit.edu>
-
Rudi Grinberg <me@rgrinberg.com>
-
Ivan Jager <aij+git@mrph.org>
-
Jeff Meister <nanaki@gmail.com>
-
Carmelo Piccione <carmelo.piccione@gmail.com>
-
Raman Varabets <roman.vorobets@gmail.com>
-
Mathieu Baudet <mathieubaudet@fb.com>
-
Rauan Mayemir <rauan@mayemir.io>
-
Louis Roché <louis@louisroche.net>
-
Brendan Long <self@brendanlong.com>
-
Christophe Troestler <christophe.Troestler@umons.ac.be>
-
Vincent Bernardoff <vb@luminar.eu.org>
-
haoyang <haoyang@esper.co>
sha256=db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e
sha512=0c7f1985cc4d87ddd541bb2f7085b72f81aaef69468653319a4a52e6cd6c9318511229784a12cdb413ae500e7a5b8195759e0d8d49946a9b00f62e8dda07e8a2
>= "1.7.0"
>= "1.0.6"
with-test
>= "2.1.0"
>= "2.2.1" & < "2.3.0"
>= "2.0"
>= "4.02"
= "1.12.0"
< "2.0.0"
< "0.3.1"
< "1.0.0" | >= "4.0.0" & < "4.4.0"
< "0.1.5"
!= "0.2.1"
>= "0.1.0"
>= "2017-05-26.05"