Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Introduction to Programming using SML (International Computer Science Series) 1st Edition

4.0 out of 5 stars 5 customer reviews
ISBN-13: 978-0201398205
ISBN-10: 0201398206
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used
Condition: Used - Good
In Stock. Sold by greener_books_london
Condition: Used: Good
Comment: **We ship within 24hrs. 98% of orders are received in the USA within 7 - 12 days. We believe you will be completely satisfied with our quick and reliable service. All orders are dispatched as swiftly as possible! Buy with confidence!
Access codes and supplements are not guaranteed with used items.
13 Used from $12.88
+ $3.99 shipping
More Buying Choices
10 New from $67.19 13 Used from $12.88
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Get a FREE Amazon Echo with The Princeton Review
Subscribe to the Self-Paced Study Course for ACT and prep whenever you want. Learn more
click to open popover

Editorial Reviews

From the Inside Flap

The topics of this book are programming and program design. The contents are used in the introductory programming course in the Informatics Programme at the Technical University of Denmark. This is the first course on programming that many of the students attend. The contents are furthermore used in a programming course for electrical engineers in a later semester. The emphasis is on programming and program design with a systematic use of lists, trees, sets and tables to build models and programs. The book does not cover efficient implementations using specialized representations of these data structures, as this topic is covered in other textbooks on 'algorithms and data structures'.

It is a goal of the book to bring theory to practical use. The examples and exercises in the book teach the student how to use basic, theoretically well-understood, concepts from computer science in problem solving in order to achieve succinct and elegant programs and program designs which can be communicated to other people. The book does, however, avoid formalistic explanations of the theory. Fundamental concepts such as bindings of identifiers and environments are explained in an informal but precise way such that the students get the right intuitive understanding. The presented concepts are programming language independent, and the book is therefore a general book on programming.

Throughout the book we use Standard ML (abbreviated SML) as the programming language. The reasons for this choice are:

The language is very powerful in expressing structured data as well as computations on such data. This enables students to solve interesting problems from the very beginning of the course.

The different SML systems have a simple interactive interface to the user. This allows us to downplay the role of I/O while solving difficult problems in a brief and elegant way.

The language is close to common mathematical notation. This means that it is not very hard for students to learn the syntax of programs.

There is an extensive standard library, and there are several SML systems running on a number of platforms.

The language has a complete, formal semantics. Based on this formal semantics, we give a clear (informal) semantics of the programming language constructs, so that students can appreciate a language with a well-defined semantics.

We use the Moscow ML system in our course, which has turned out to be a fast and very reliable system with moderate resource demands. The SML-mode of the Emacs editor gives a pleasant environment where the user can easily switch between program editing, compilation and program runs. The students can get the system on their own PC so that they can use the system in their home work. The distribution of the system is easy as a complete ML system for a PC can be housed on a single floppy disk.

The chapters of the book are: Getting started Basic values and operators Tuples and records Problem solving I Lists Problem solving II Tagged values and partial functions Finite trees Higher-order functions Finite sets Modules Tables Problem solving III Input/output in SML Interactive programs Problem solving IV Iteration Imperative programming

The main organization of the first 12 chapters follows the data types: simple types, tuples, lists, trees, sets and tables -with the associated operators. Applications of these types, with associated operators, are illustrated through a large collection of interesting programming problems.

The chapters on 'problem solving' define a standard way of writing down the solution to a programming problem. This standard emphasizes specification of interfaces by means of signatures as described in Chapter 11 on the module system of SML.

The chapter on interactive programming introduces the concepts of I/O actions and dialogue automata for designing such programs, and this is supplemented by the notion of abstract syntax for commands in the following chapter: 'Problem solving IV'.

The chapter on iteration gives a few basic techniques, which iii some cases can give more efficient implementations. The last chapter introduces various aspects of imperative programming and imperative-data structures, together with the imperative operators. The book has the following appendices: SML systems Overview of Standard ML Overview of the SML module system Selected parts of the SML basis library Modules of sets and tables The ASCII alphabet Further reading

Appendix A gives pointers to where to find information about existing SML systems. Appendices B and C give an overview of the SML language. The description is based on the mathematical semantics of SML, but it is presented in an informal way. Appendix D is a reference to selected parts of the Standard ML Basis Library. Appendix E contains modules for sets and tables which are used in main text. Appendix F gives a table of the ASCII alphabet. Appendix G contains some references for further reading. The following WWW pages describe how we use the book in our course: it.dtu.dk/introSML Acknowledgments

We have received numerous comments and suggestions from many colleagues and students. Special thanks go to Jens Thyge Kristensen for his enthusiastic support in reading through all versions of the manuscript and providing many recommendations about the overall structure of the book as well as details of each chapter. Also, Ken Larsen, Jakob Lichtenberg, Anders P. Ravn, Peter Sestoft, Simon Mørk and Torben Hoffmann have given many important suggestions. Furthermore, the final version of the book has been strongly influenced by the corrections and suggestions from the anonymous referees.

The book The Definition of Standard ML (Revised), by Milner, Tofte, Harper and MacQueen has been an invaluable reference for us during the writing of this book. Furthermore, we are indebted to Peter Sestoft for his great help and endless patience in explaining to us details of the SML language.

Our sincere thanks go to the late Disa la Cour for proof reading a draft version of this book and for trying to improve our English writing.

Finally, we are grateful to Dines Bjørner who in the first place taught us the use of mathematical concepts in software development. 0201398206P04062001

From the Back Cover

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.

Features of the book include:

  • Attractive and reader-friendly presentation
  • Clear and careful explanations
  • A rich collection of programming problems and a wide variety of examples
  • Coverage of modelling and abstraction using data structures and the SML module system
  • Overview and statement of objectives at the start of each chapter
  • An introduction to producing technical documentation based on the SML module system
  • Extensive material in the appendices covering the SML language and module system and selected parts of the SML basis library
  • Accompanying Web Site supporting the book, containing all the program code, further teaching material and links to SML systems and other useful resources


The latest book club pick from Oprah
"The Underground Railroad" by Colson Whitehead is a magnificent novel chronicling a young slave's adventures as she makes a desperate bid for freedom in the antebellum South. See more

Product Details

  • Series: International Computer Science Series
  • Paperback: 384 pages
  • Publisher: Addison Wesley; 1st edition (July 21, 1999)
  • Language: English
  • ISBN-10: 0201398206
  • ISBN-13: 978-0201398205
  • Product Dimensions: 6.8 x 0.8 x 9.2 inches
  • Shipping Weight: 1.4 pounds
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon Best Sellers Rank: #413,918 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Paperback
This book gives you a good foundation of functional programming, with many threads into more advanced topics.
The book also contains four chapters on problem solving, they will give you many ideas for practical use of the methods described.
The exampels contain insight in algoritms and datastructurs, and the use of ML types is presented with full understanding of the problems.
The book has a very compact structur, but gives good explanations on topics like recursive- and higher-order functions, datatypes and records.
Comment 8 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
The book gives very good introduction to sml and functional programming. It is very easy to read (actually the first programming book I ever read), and it is very thorough. Beside teaching you sml the book gives examples of how to design, implement and write technical documentation for different problems.
The examples is carefully choosen to illustrate the power of sml.
All around a good book. Maybe it lacks a little more thorough explanation about higher order functions. But surely the best introductionary book about sml, I have ever read.
Comment 6 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
Good book, and very simple to read
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
This book is the best one you can read it on the subjsct of software engineering. It is highly organized and very accurat, you can depend on it to find your way in the world of programming. Also the price is not so expensive so that any student in this field can by it.
Comment 2 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
By A Customer on October 27, 2000
Format: Paperback
This book is not very good as a general introduction to programming. This book wants to give you a tool which you can use to solve purely technical tasks. Further, it wants to give you a programming style before introducing any basic concepts about the programming language. Finally, SML is a bad choise if you are a complete newbie, as the SML lives in a very small world. There are 100s of books on other languages, but so far we only have 3 (three) books on SML. Because SML is a technical book for the university. However, I doubt anyone would buy this book if he or she was not a student. Besides, there are many errors in this book ... If you want an introduction to genuine programming, i suggest you read Teach Yourself C by Herbert Schildt.
Comment 8 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse