
Hi Michal, Sounds interesting. Can you show (and include in the README) some examples of recognized json inputs and code generated for them? On 03/11/14 18:59, Michal J Gajda wrote:
Dear Fellow Haskellers,
I've just published a beta version of a tool facilitating generation of Haskell type declarations from example JSON documents. It is supposed to simplify implementing large JSON-based interfaces, without necessity of writing any boilerplate code.
USAGE: ====== After installing with `cabal install json-autotype`, you might generate stub code for the parser:
$ json-autotype input.json -o MyFormat.hs
Then you might test the parser by running it on an input file:
$ runghc MyFormat.hs input.json
If everything is correct, then feel free to inspect the data structure generated automatically for you! The goal of this program is to make it easy for users of big JSON APIs to generate entries from example data.
Occasionally you might find a valid JSON for which `json-autotype` doesn't generate a correct parser. You may either edit the resulting file _and_ send it to the author as a test case for future release.
HOW IT WORKS: ============== The program uses union type unification to trim output declarations. The types of same attribute tag and similar attribute set, are automatically unified using recognition by attribute set matching. (This option can be optionally turned off, or a set of unified types may be given explicitly.) Either alternatives is used to assure that all JSON inputs seen in example input file are handled correctly.
Details on official releases are on Hackage [1]
1. https://hackage.haskell.org/package/json-autotype
Patches and suggestions are most welcome.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe