A Gentle Introduction to ML
By
Andrew Cumming
,
Computer Studies
,
Napier University
,
Edinburgh
This service is hosted by
...
. There are
copies
.
The original is at
http://www.dcs.napier.ac.uk/course-notes/sml/manual.html
.
Contents
Lessons
Other resources
Introductions
Functional languages are introduced.
Advice on how to use this document is given and CAL is dismissed.
Contributions from readers are presented.
Lesson One
"Hello World" is our first program.
Tutorial One concerns expressions and simple functions.
Diversion: The Reconcilation Ball
Self Test One: some multiple choice question to try.
Lesson Two
Types, bindings, pattern matching and lists are all introduced
Tutorial two
Diversion: Bitmaps
Self Test Two.
Lesson Three
More on types, Currying and recursion
Tutorial Three (simple recursion on integers)
Diversion: The Mandelbrot Set
Self Test Three.
Lesson Four
List processing.
Tutorial Four (list and more lists)
Lesson Five
Incompleteness, Overlapping Left Hand Sides, Conditions, Anonymous Functions.
Tutorial Five (even more recursion)
Diversion: Language Translation.
Lesson Six
Common recursive patterns, map, reduce, zip
Tutorial Six (higher order programming)
Diversion: Bus routes
Diversion: Election Special
Lesson Seven
Creating data types
Tutorial Seven (Queues)
Lesson Eight
Various tricks of the trade: accumulating parameters, mutual recursion, nested definitions.
Tutorial Eight (accumulate)
Brief instructions on how to ...
Use files
Execute other programs
Create an executable
Use signatures, structures and functors.
The language definition
GIML's glossary of some ML terms
Excellent documentation of SML'96
Part of the release documentation (in postscript)
The rest of the it.
Frequently asked questions
The comp.lang.ml FAQ (includes how to get SML)
The comp.lang.functional FAQ
News groups
comp.lang.ml
comp.lang.functional
A generally useful thing to have handy
Online dictionary of computing
©Andrew Cumming 1995