ML is a statically typed and type-safe programming language that primarily supports functional programming, but has some imperative features. ML uses homogeneous lists with list operators :: (i.e., cons) and @ (i.e., append). The language supports anonymous/λ functions (i.e., unnamed or literal functions). A key language concept in ML is that all functions have types. Another key language concept in ML is pattern-directed invocation—a pattern-action rule-oriented style of programming, involving pattern matching, for defining and invoking functions. This appendix provides an introduction to ML so that readers can explore type concepts of programming languages through ML in Chapters 7–9. Table 9.7 compares the main concepts in Standard ML and Haskell.
18.222.110.183