Lawful Asynchronous Programming — Daniel Spiewak

Laws are our friends! They make it easier to reason about things by eliminating possibilities and constraining the problem space. Applying lawful, principled and reasonable programming to the thorny problem of asynchronous and concurrent systems seems like a natural fit, but the devil is in the details. This talk will explore scalaz-stream, both the present and the future designs at a very low-level. We'll look at where we can apply lawful reasoning and where we can't. We'll also examine some of our past failures in this area, and how we think we can do better in upcoming releases.

Related Talks

Simplifying Scala Collections — Bill Venners

Simplifying Scala Collections — Bill VennersThe Scala standard library includes a large set of collections that covers a wide variety of use cases. For example, it offers both mutable and immutable collections, sequential and parallel collections, strict and lazy collections, and many combinations thereof. Although the standard collections library is widely used and works quite well ...

Type-Driven Development in Idris — Edwin Brady

Type-Driven Development in Idris — Edwin BradyIdris is a general purpose pure functional programming language with dependent types. In Idris, types are a first class language construct, meaning that they can be manipulated and computed like any other language construct. It encourages a type-driven style of development, in which programmers give types first and use interactive ...