Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead of techtangents:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
etc
example/src/main/scala/com/ephox/argonaut
project
src
.gitignore
README.md
sbt

README.md

Argonaut

What is Argonaut?

Argonaut is a JSON library built using Scala. It provides functionality to specify how to convert to and from JSON for an arbitrary Scala object. It relies on the Scala parser libraries (util.parsing.combinator) to read an arbitrary string into a JSON data type, which is known to be slow. Argonaut is licenced under BSD3 (see etc/LICENCE).

The JSON data type also implements a large combinator library in an effort to make it easy to use, however, much of this library would be better implemented by exploiting partial lenses and a zipper.

Argonaut is intended for simple applications that use specification-compliant JSON. Argonaut is released under a BSD3 open-source licence.

Future Improvements

  • Exploit lenses and partial lenses for a more complete and general combinator library.
  • Implement a zipper for traversing the JSON data structure.
  • Implement a traversal cursor function that tracks its operations using the Writer monad.
  • Use a more appropriate parser library (not Scala parsers) to improve performance.
  • Implement automated tests for type-class laws (e.g. ToJson is the inverse of FromJson).

Copyright 2012 Ephox Pty Ltd