×

Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

Introduction to Programming Using Sml / Edition 1
     

Introduction to Programming Using Sml / Edition 1

by Michael R. Hansen
 

ISBN-10: 0201398206

ISBN-13: 9780201398205

Pub. Date: 07/21/1999

Publisher: Addison-Wesley

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 p of programming into practice. The examples and exercises teach the student how to apply basic theoretical concepts to produce succinct and elegant programs and

Overview

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 p 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. 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

Product Details

ISBN-13:
9780201398205
Publisher:
Addison-Wesley
Publication date:
07/21/1999
Series:
International Computer Science Series
Edition description:
New Edition
Pages:
355
Product dimensions:
6.77(w) x 9.20(h) x 0.71(d)

Table of Contents

Preface xiii
Getting started
1(14)
Values, types, identifiers and declarations
2(1)
Simple function declarations
3(1)
Comments
4(1)
Recursion
5(5)
The power function
10(1)
About types and type checking
11(1)
Bindings and environments
12(1)
Summary
13(2)
Exercises
13(2)
Basic values and operators
15(16)
Integers and reals
15(2)
Expressions, precedence, association
17(1)
Euclid's algorithm
18(2)
Evaluations with environments
20(2)
Characters and strings
22(3)
Truth values
25(1)
The if-then-else expression
26(1)
Overloaded operators
27(1)
Type inference
27(1)
Summary
28(3)
Exercises
28(3)
Tuples and records
31(18)
Tuples
31(3)
Tuple patterns
34(1)
Infix functions on pairs
35(4)
Records
39(1)
Record patterns
40(1)
Type declarations
41(3)
Locally declared identifiers
44(3)
Summary
47(2)
Exercises
47(2)
Problem solving I
49(11)
Problem statement: rational numbers
50(1)
Solution 1
50(5)
Solution 2
55(1)
Comparing the solutions
56(2)
A solution using records
58(1)
Summary
58(2)
Exercises
59(1)
Lists
60(23)
Building lists
61(2)
The 'cons' operator
63(3)
List patterns
66(3)
Append and reverse; polymorphic types
69(3)
Polymorphic values
72(1)
A library of list functions
73(3)
Membership; equality types
76(2)
Type inference
78(1)
Summary
79(4)
Exercises
79(4)
Problem solving II
83(7)
Problem analysis: cash register
83(2)
Programming
85(2)
Test
87(1)
Summary
87(3)
Exercises
88(2)
Tagged values and partial functions
90(14)
Datatype declarations
91(1)
The case-expression
92(2)
Enumeration types
94(1)
The order type
95(1)
Partial functions: the option datatype
95(3)
Exception handling
98(2)
The Eight Queens problem
100(2)
Summary
102(2)
Exercises
102(2)
Finite trees
104(31)
Chinese boxes
104(8)
Symbolic differentiation
112(5)
Trees of ancestors; traversal of a tree
117(3)
Mutual recursion
120(3)
Parameterized datatypes
123(1)
Electrical circuits
124(1)
Abstract types
125(6)
Summary
131(4)
Exercises
131(4)
Higher-order functions
135(26)
Expressions denoting functions
136(2)
Value declarations of recursive functions
138(1)
The map functions
139(2)
Declaring higher order functions
141(1)
Higher-order list functions
142(7)
Functional composition
149(1)
Tree recursion
150(1)
Type inference for higher-order functions
151(1)
Closures
152(4)
Static binding
156(1)
Lazy evaluation
157(1)
Summary
158(3)
Exercises
158(3)
Finite sets
161(13)
A representation of sets
161(1)
Operations on sets
162(3)
An abstype for sets
165(4)
Other representations of sets
169(3)
Summary
172(2)
Exercises
172(2)
Modules
174(20)
Structures
175(1)
Specifications and signatures
176(1)
Signatures and structures
177(4)
Further facilities
181(2)
Fixity of identifiers
183(1)
Functors
184(8)
Summary
192(2)
Exercises
192(2)
Tables
194(11)
The table concept
194(1)
A representation of tables
195(1)
Operations on tables
195(8)
Summary
203(2)
Exercises
204(1)
Problem solving III
205(12)
Problem analysis
206(2)
A sample run
208(1)
Programming
209(5)
Test
214(2)
Summary
216(1)
Exercises
216(1)
Input/output in SML
217(13)
Input streams
217(2)
Output streams
219(1)
Simple input and output
220(3)
Use of conversions
223(2)
Sequential composition
225(1)
Input/output of composite data
226(2)
Input with prompt and validation
228(1)
Summary
229(1)
Exercises
229(1)
Interactive programs
230(11)
A quiz program
230(1)
Actions
231(1)
Action schemas
231(1)
Functions for action schemas
232(1)
Dialogue automaton
233(2)
Dialogue program
235(1)
Action refinement
236(2)
Summary
238(3)
Exercises
238(3)
Problem solving IV
241(12)
Problem analysis
241(6)
Programming
247(3)
Test
250(1)
Summary
250(3)
Exercises
251(2)
Iteration
253(10)
Resource measures
253(1)
Two problems
254(1)
Solutions: accumulating parameters
255(2)
Iteration
257(5)
Summary
262(1)
Exercises
262(1)
Imperative programming
263(88)
The store
264(1)
Operations on the SML store
264(4)
References and polymorphism
268(1)
Arrays
269(8)
The while loop
277(3)
Imperative data structures
280(2)
Summary
282(2)
Exercises
282(2)
Appendices
A SML systems
284(1)
B Overview of Standard ML
285(21)
B.1 Lexical conventions
286(2)
B.2 Syntax
288(4)
B.3 Value, environment and store
292(3)
B.4 Types
295(1)
B.5 Semantics
296(10)
C Overview of the SML module system
306(7)
C.1 Lexical conventions
306(1)
C.2 Syntax
307(1)
C.3 Interfaces and environments
308(1)
C.4 Semantics
308(5)
D Selected parts of the SML basis library
313(25)
D.1 General
314(3)
D.2 Numbers
317(3)
D.3 Characters and strings
320(4)
D.4 Lists
324(2)
D.5 Vectors
326(1)
D.6 Arrays
327(2)
D.7 Timers and time
329(1)
D.8 Date
330(1)
D.9 Conversions
330(5)
D.10 Text input
335(1)
D.11 Text output
336(2)
E Modules of sets and tables
338(8)
E.1 Sets
339(1)
E.2 Tables
339(2)
E.3 Signatures
341(1)
E.4 Structures
342(4)
F The ASCII alphabet
346(3)
G Further reading
349(2)
Index 351

Customer Reviews

Average Review:

Post to your social network

     

Most Helpful Customer Reviews

See all customer reviews