Colin-Horne-Introducing-the-Dependency-Solver.m4v.ff.flv
Channel: Shadowcat Systems
Date: 13/03/2012

Recorded at the London Perl Workshop 2010

Talk about a dependency solver, which automatically schedules
iterative updates to a shared resource such that they do not conflict
with one another, and allows for parallelism where possible.

The shared resource is a table with multiple columns. Each update is
assumed to modify every row in the table, but only specific columns.

By requiring that clients need permissions to read/write to columns,
one can infer the correct ordering to schedule client requests on the
table.

The approach of using rather fine-grained permissions also makes the
clients' intentions clearer than might otherwise be the case. This is
a common argument for static typing, and its merits are well exhibited
in Haskell programs.