A thorough account of the concepts and techniques used in modern functional programming languages. Standard ML is used for notation. For advanced undergraduate or graduate students who are familiar with another high-level language and discrete mathematics