Standard ML

Where ML came from

Standardization and descendants

Why start with values and types

Values and types

Why functions

Functions

Why recursion and patterns

Recursion

Why lists and higher-order functions

Lists

Why datatypes

Datatypes and pattern matching

Why polymorphism

Polymorphism and inference

Why options

Options instead of null

Why exceptions

Exceptions

Why modules

Modules

Try it yourself