Read more
This book is an introductory programming textbook for those using SML. It emphasizes mathematical structures, modelling and abstraction as a basis for programming, introducing students to formal methods concepts early. The authors concentrate on the basics of program design rather than on the design of efficient algorithms. The book has a dual purpose, firstly to teach program design based on a set of simple, clean & powerful concepts and secondly to teach the fundamental concepts of computer science in an informal but precise way.
List of contents
- Getting Started
- Basic Values and Operators
- Tuples and Records
- Problem Solving I
- Lists
- Problem Solving II
- Tagged Values. Partial Functions
- Finite Trees
- Higher-Order Functions
- Finite Sets
- Modules
- Tables
- Input/Output in SML
- Interactive Programs
- Problem Solving III
- Iteration
- Imperative Programming
A. SML systems B. Overview of Standard ML C. Overview of the SML module system D. Selected parts of the SML basis library E. Modules of sets and tables F. The ASCII alphabet
Summary
Introduction to Programming using SML provides a thorough introduction to the principles of programming and program design using the Standard ML programming language. The emphasis throughout is to put the theory of programming into practice. The examples and exercises teach the student how to apply basic theoretical concepts to produce succinct and elegant programs and program designs.
Coverage includes an introduction to fundamental data structures and their applications. The notions of binding, environment, store, closure and evaluation are introduced in order to explain the meaning of programs in an informal but precise way. Thus, the authors provide the reader with a set of durable programming concepts which will exist well into the next generation of programming languages.