Spring 2021 at University of Kurdistan
- The ML Programming Language
ML is best thought as a mult-paradigm language: it supports both functional programming (through a full array of tools such as anonymous first-class functions) and imperative programming (through reference types and "functions" that have effects).
ML is strongly typed, but most of the time there is no need for the programmer to write any type-declarations. This makes ML much more compact and readable than languages that requires explicit type declarations.
ML also has excellent support for Algebraic Data Types (ADTs). ADTs correspond more or less directly to algebras, which are one of the central themes of this course—and that is why ML seems to be the right language to illustrate the course.
- Moscow ML Language Overview (includes grammar)
- Mads Tofte's Tips for Computer Scientists on Standard ML; all of Standard ML in 22 pages!
- Moscow ML Language Overview (24 pages);
- MLton
- Standard ML of New Jersey
- MLKit (Linux)
- Moscow ML (Windows, Linux)
- online standard ML Compiler
- [Follow the Coursera course Programming Languages.
- Read ML for the Working Programmer by Larry C. Paulson.
- Use StackOverflow’s sml tag.
- Solve exercises on Exercism.io’s Standard ML track.
Programming Language Exam