Jx5yksyv8umt9doutp1s
SkillsCast

The Future of Decoding in Circe

12th December 2017 in London at CodeNode

There are 1 other SkillsCast available from London Scala December

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:

Thanks to our sponsors

The Future of Decoding in Circe

Travis Brown

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).

SkillsCast

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:

Thanks to our sponsors

About the Speaker

The Future of Decoding in Circe

Travis Brown

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).