Read more
Teaches students about great programming-language ideas and how to use them in programming practice.
List of contents
Preface; Acknowledgments; Credits; Tables of judgment forms, important functions, and concrete syntax; List of symbols and notation; Introduction; Part I. Foundations: 1. An imperative core; 2. Scheme, S-expressions, and first class functions; 3. Control operators and a small-step semantics: ¿Scheme+; 4. Automatic memory management; 5. Interlude: ¿Scheme in ML; 6. Type systems for Impcore and ¿Scheme; 7. ML and type inference; Part II. Programming at Scale: 8. User-defined, algebraic types; 9. Molecule, abstract data types, and modules; 10. Smalltalk and object orientation; Afterword; Bibliography; Key words and phrases; Concept index.
About the author
Norman Ramsey is Associate Professor of Computer Science at Tufts University. Since earning his Ph.D. at Princeton, he has worked in industry and has taught programming languages, advanced functional programming, programming-language implementation, and technical writing at Purdue, the University of Virginia, and Harvard as well as Tufts. He has received Tufts's Lerman-Neubauer Prize, awarded annually to one outstanding undergraduate teacher. He has also been a Hertz Fellow and an Alfred P. Sloan Research Fellow. His implementation credits include a code generator for the Standard ML of New Jersey compiler and another for the Glasgow Haskell Compiler.
Summary
This 'great ideas applied in practice' textbook emphasizes practice. It distills key programming languages and their design ideas down to small, simple languages implemented by an interpreter, The hands-on approach lets readers develop skills that will help them be productive programmers even in languages they've never seen before.