2018-12-05 23:28
Page 1

Laziness

Laziness is just a different kind of productivity

Page 2

Haskell is a purely functional language

In Haskell, functions are pure

Page 3

Lazy — Eager — Parallel

Page 4

Concurrency vs Parallelism

Page 5

Haskell is pure and lazy

What does this mean?

Page 6

Parallel computation in Haskell

Page 7

A small parallelisation example

Page 8

Example: speeding up a sudoku solver

Page 9

Lazy or eager, what's the difference?

Page 10

All languages have some laziness

Page 11

Examples of laziness

Page 12

Observing laziness in GHCi

Two useful commands

Page 13

Infinite lists

Examples

Page 14

Example: prime numbers

Page 15

Predefined functions that create infinite lists

Page 16

More examples

Examples where laziness improves reusability

Page 17

Newton's method

Page 18

Properties of zip

Page 19

prop_zip_length problem

Page 20

The length of infinite lists

Page 21

Lazy natural numbers

Page 22

A new length function

Page 23

prop_zip_length problem solved

Page 24

Search Example

Exercise

Page 25

Tree equality

Page 26

Fringe equality

Page 27

Lazy IO

Page 28

Further reading/watching