First-Class Functions in Standard ML
Like in all functional programming languages, functions are first class
entities in Standard ML. This means that we can write functions that take
functions as input and return functions as output, thereby allowing us to
program with higher-order functions. This also means that we can use
functions as part of data structures to represent data.
We discuss currying in the context of SML and examine some predefined
higher-order functions on lists.