The 1.0 release of Circe will introduce a new approach to decoding that replaces cursors with a simple algebra of navigation and reading operations. While this approach is largely source-compatible with existing decoder definitions, it opens up a wide range of new possibilities. By decoupling the interpretation of the decoder from any particular JSON representation, we're now able, for example, to define (or generically derive) a Decoder value and then use it to decode an instance of Circe's Json AST, or of ScalaJSON's AST, or even to decode a type representing a BSON or YAML value.
While this new approach will be included in the core Circe module in 1.0, it's available now as a separate dependency. This talk will begin with a high-level overview of the motivations for the change, but the focus will be a hands-on exploration of the capabilities of the new approach.
YOU MAY ALSO LIKE:
- Lightbend Akka for Scala - Professional (in London on 11th - 12th November 2019)
- Advanced Scala with Dick Wall (in London on 9th - 11th December 2019)
- Scala eXchange London 2019 (in London on 12th - 13th December 2019)
- Scalax2gether Community Day 2019 (in London on 14th December 2019)
- Don’t keep it to yourself - openness and honesty in the workplace (in London on 30th October 2019)
- Keynote by Naoki Takezoe on Revisit Dependency Injection in Scala and Introduction to Airframe (in London on 25th November 2019)
- Automating Elaborate-Transform-Load for Busy Data Scientists (SkillsCast recorded in October 2019)
- Abstract Data Types In The Region Of Abysmal Pain, And How To Navigate Them (SkillsCast recorded in September 2019)
The Future of Decoding in Circe
Travis Brown currently writes Scala for Stripe, maintains several open source Scala libraries (including Circe and iteratee.io), and contributes to many others (for example Finch, Cats, and Shapeless).