Page 1

Functional Programming

Reflections

Typing up loose ends

Questions and Answers

Page 2

Course content

Page 3

Learning outcomes

Page 4

Functions as first class values

Page 5

Example: an abstract data type for sets

Page 6

How to represent sets

Three possible representations

Page 7

Representing sets as lists

Page 8

Representing sets as binary search trees

Page 9

Representing sets as functions

Page 10

Software prototyping experiment (1)

Page 11

Software prototyping experiment (2)

Page 12

Software prototyping experiment (3)

Page 13

Software prototyping experiment (4)

Key design choice

Page 14

Loose Ends

Page 15

What can Haskell be used for?

Examples

Page 16

Some Haskell software I have worked on

Page 17

Questions and Answers

Page 18

The End