Static types for JSON APIs
Clone or download
mjambon Merge pull request #168 from struktured/master
Fix code block formatting
Latest commit 0cdcad8 Oct 29, 2018
Permalink
Failed to load latest commit information.
atd Use the env stanza rather than the old include hack for global flags Oct 22, 2018
atdcat Use the env stanza rather than the old include hack for global flags Oct 22, 2018
atdgen-codec-runtime/src Remove some extra parens Oct 22, 2018
atdgen-cppo Port to dune Aug 19, 2018
atdgen-runtime/src Use the env stanza rather than the old include hack for global flags Oct 22, 2018
atdgen Use the env stanza rather than the old include hack for global flags Oct 22, 2018
atdj Merge branch 'pr/153' Oct 22, 2018
atds Remove remaining use of ocamlflags.sexp Oct 22, 2018
doc Fix code block formatting Oct 29, 2018
internal-doc More details on how to make a release Jun 3, 2018
manual transition atdgen to the new atd API Feb 2, 2018
.agignore Add .agignore so these files don't pollute grepping Mar 29, 2018
.gitignore Add emacs backup files to gitignore Aug 25, 2017
.ocp-indent Tests and fixes for Atd_sort. Good to go. Apr 28, 2014
CHANGES.md Update CHANGELOG regarding bucklescript backend Oct 22, 2018
INSTALL Whitespace cleanup Nov 23, 2012
LICENSE.md Fixes for topkg Jun 1, 2018
Makefile rename tests to test target Aug 19, 2018
README.md Attempt at making documentation link more visible Jun 24, 2018
atd.opam Port to dune Aug 19, 2018
atdgen-codec-runtime.opam Add yojson based buckle script like runtime Aug 19, 2018
atdgen-runtime.opam Port to dune Aug 19, 2018
atdgen.opam Port to dune Aug 19, 2018
atdj.opam Port to dune Aug 19, 2018
atds.opam Add myself to atds.opam Oct 12, 2018
dune Use the env stanza rather than the old include hack for global flags Oct 22, 2018
dune-project More changes to use dune Aug 23, 2018
dune-workspace.dev Update dune-workspace file Oct 22, 2018

README.md

ATD project - Static Types for Json APIs

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 formats
  • atdj: executable that generates Java code dealing with json
  • atd: library for parsing atd files used by code generators

Documentation

here

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.