Wearing the hair shirt Wearing the hair shirt - Microsoft Research
Wearing the hair shirt Wearing the hair shirt - Microsoft Research Wearing the hair shirt Wearing the hair shirt - Microsoft Research
SLPJ conclusions Purity is more important than, and quite independent of, laziness The next ML will be pure, with effects only via monads Still unclear exactly how to add laziness to a strict language. For example, do we want a type distinction between (say) a lazy Int and a strict Int?
- Page 1 and 2: Wearing the hair shirt A retrospect
- Page 3 and 4: Haskell is 15 years old (born FPCA
- Page 5 and 6: Timeline Sept 87: kick off Apr 90:
- Page 7 and 8: Reflections on the process The i
- Page 9: Reflections on process Self-appoin
- Page 12 and 13: Syntactic redundancy Seductive ide
- Page 14 and 15: “Expression style” Define a fun
- Page 16 and 17: Example (ICFP02 prog comp) Pattern
- Page 18 and 19: What really matters?
- Page 20 and 21: But... Laziness makes it much, muc
- Page 22: Combinator libraries Recursive valu
- Page 25 and 26: Monadic I/O A value of type (IO t)
- Page 27 and 28: Connecting I/O operations (>>=) ::
- Page 29 and 30: Control structures Values of type (
- Page 31 and 32: Monads Exceptions type Exn a = E
- Page 33 and 34: The IO monad The IO monad allows
- Page 35 and 36: What have we achieved? ...without
- Page 37 and 38: Open challenge 1 Open problem: the
- Page 39 and 40: Monad summary Monads are a beautif
- Page 41: What really matters? Laziness Purit
- Page 45 and 46: Implementing type classes data Eq a
- Page 47 and 48: Type classes are useful Type classe
- Page 49 and 50: Quickcheck quickCheck :: Test a =>
- Page 51 and 52: Type-based dispatch class Num a whe
- Page 53 and 54: Type-based dispatch So the links to
- Page 55 and 56: Qualified types Type classes are a
- Page 58 and 59: Sexy types Haskell has become a lab
- Page 60 and 61: How sexy? Damas-Milner is on a cus
- Page 62 and 63: Modules ML functors Difficulty Hask
- Page 64 and 65: Modules Haskell has many features
- Page 66 and 67: Encapsulating it all runST :: (fora
- Page 68: The Haskell committee Arvind Lennar
SLPJ conclusions<br />
Purity is more important than, and quite<br />
independent of, laziness<br />
The next ML will be pure, with effects<br />
only via monads<br />
Still unclear exactly how to add laziness to<br />
a strict language. For example, do we want<br />
a type distinction between (say) a lazy Int<br />
and a strict Int?