User:Duplode/Awkward squad plan

Mutable objectsEdit

  • Introduction: suggest typical use cases − low-level interfaces with external libraries, algorithms that demand mutability, huge volumes of data.
  • IORefs: basic example, point out concurrency pitfalls, link to Concurrency.
  • ST: Isolated mutability. A word or two on existentials. A hashtables example. (A link to, or an adaptation of, augustuss' quicksort?)
  • Other references: Haskell Cafe thread on the need for global mutable state.

ConcurrencyEdit

Effectful streamingEdit

  • The pitfalls of lazy IO.
  • Probably use Pipes, but also mention Conduit.

ExceptionsEdit