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.