Smooth Sailing with scalaz-stream
One of the most common tasks in programming is running computations on records from some source, and then writing out the result. As developers, we want to work with 'lists' of these records, yet sometimes we have to deal with streaming data instead for memory efficiency and dealing with boring yet important considerations like resource management, latency, etc. scalaz-stream is a great solution to this problem, giving developers the best of both worlds. In this session, we'll go through a gentle introduction to scalaz-stream concepts while walking through a couple of examples of how we use scalaz-stream in our code base.
Does Set have a Functor, part 2: The Yoneda lemma.
In a follow-up to the discussion about whether or not Set has a law-abiding Functor, we'll take a look at how we can produce one for a Set using Coyoneda, as well as a brief introduction to Yoneda/Coyoneda.
Applicative Style Command Line Parsing
Using command line parsing as an example, this will be a (code heavy) look at an interesting use of a data structure that gives us the ability to build-up functions that can act as both _parsers_ and _printers_. We will then explore how we can exploit applicative functors to build up a practical and clean API around this data structure.