Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Twitter: @possiblywrong


GitHub: possiblywrong

Bitbucket: dconlon

Sorting: what and how?
Merge Sort
Insertion Sort
Bubble Sort
All rely on cmp
def sort[T](xs: List[T], cmp: (T,T) => Boolean): List[T]

Herman Hollerith

Counting Sort
Radix Sort
Bucket Sort
...but they aren't general

They rely on the structure of the data.
T => ???

Fritz Henglein


def dsort[T](xs: List[T], ???: ???): List[T]
abstract class Order[T]
case class NatOrd extends Order[Int]
def dsort[A,B](ord: Order[A], xs: List[(A,B)]): List[List[B]] =
         ord match {
               case NatOrd => ???
So how fast is it?

Use a spacebar or arrow keys to navigate