Functional programming is an old idea with a distinguished history. Lisp, a functional language inspired by Alonzo Church's lambda calculus, was one of the first programming languages developed at the dawn of the computing age. Statically typed functional languages such as OCaml and Haskell are newer, but their roots go deep—ML, from which they descend, dates back to work by Robin Milner in the early '70s relating to the pioneering LCF (Logic for Computable Functions) theorem prover.
Overview
Syllabus
Language Basics
- opam
- hello world
- utop
- values
- functions
- imperative
- match
- tuples
- variants
- lists
- sets
- arrays
- records
- mutability
- recursion
- hash tables
- modules
- errors
- bits
- commands
- files
- dune
- libraries
- tests
- property tests
- test coverage
- publishing
- pins
- functors
- macros
- monads
- json
- bignum
- benchmarks
- deriving
- serialization
- C
- javascript
- rust
Taught by
Yaron Minsky, and Jane Street