Argonaut: Purely-Functional JSON in Scala
YOW! Lambda Jam 2013
Argonaut is a purely-functional library for dealing with JSON in Scala. Argonaut utilises advanced functional programming techniques that emphasise correctness and performance without sacrificing convenience. Argonaut provides zippers and lenses for efficient navigation and modification of immutable data structures; type-class based codecs for robust, composable mappings between Scala data structures and JSON; and data-types for accurately capturing the essence of JSON and the errors that can occur.
In this talk we will take a look at general principles for designing robust, purely functional libraries in Scala. We will then be taking a deeper technical dive into the specifics of Argonaut, examining the abstractions it uses, the specifics of how they are applied and why these techniques are invaluable to quality code.
Tony has been deploying functional programming solutions for 15 years, using a variety of programming languages, but Haskell and Scala primarily.
Tony teaches functional programming at the University of Queensland and for professional programmers with a view toward producing a viable commercial result. Using a principled and passionate approach to teaching functional programming and sharing ideas, Tony enjoys exploring the consequences for software development to provide a rewarding experience for everyone involved.