Index
0. Introduction
0.1 Motivation
0.2 Why OCaml and Functional Programming?
0.3 What is Functional Programming?
0.4 Setting Up Our Environment
1. OCaml Basics
1.1 An OCaml Example
1.2 OCaml Expressions
1.3 Primitive Types
1.4 More Types
1.5 Let/Match
1.01 First Class Functions
1.02 Parametric Polymorphism
1.1 Conditionals/Program Control
1.2 Pattern Matching
1.3 Recursion
1.31 Tail Recursion
1.32 The Stack
1.4 A Bit More OCaml Syntax
Section 1 Examples
2. CS/FP Concepts
2.1 The Functional Evaluation Model
2.2 Self Balancing Trees
2.3 Lazy Evaluation
2.4 Infinite Streams
2.5 Monads
4. Object Oriented Programming
4.1 Basic Objects in OCaml
4.2 Inheritance
4.3 Abstract Classes
4.4 Parameterized Classes
Section Examples
Glossary
Additional OCaml Resources
OCool
After OCaml
Answered Questions
List of Known Errors
User Discovered Errors
Change.Log
Contact Me
A Bit of OCaml