Concepts+Techniques+and+Models+of+Computer+Programming_Part1

Concepts+Techniques+and+Models+of+Computer+Programming_Part1...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Concepts, Techniques, and Models of Computer Programming PETER VAN ROY 1 Universit´ e catholique de Louvain (at Louvain-la-Neuve) Swedish Institute of Computer Science SEIF HARIDI 2 Royal Institute of Technology (KTH) Swedish Institute of Computer Science June 5, 2003 1 Email: pvr@info.ucl.ac.be , Web: http://www.info.ucl.ac.be/~pvr 2 Email: seif@it.kth.se , Web: http://www.it.kth.se/~seif ii Copyright c 2001-3 by P. Van Roy and S. Haridi. All rights reserved. Contents List of Figures xvi List of Tables xxiv Preface xxvii Running the example programs xliii I Introduction 1 1 Introduction to Programming Concepts 3 1.1 A calculator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.5 Functions over lists . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.6 Correctness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.7 Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.8 Lazy evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.9 Higher-order programming . . . . . . . . . . . . . . . . . . . . . . 15 1.10 Concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.11 Dataflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.12 State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.13 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.14 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.15 Nondeterminism and time . . . . . . . . . . . . . . . . . . . . . . 21 1.16 Atomicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.17 Where do we go from here . . . . . . . . . . . . . . . . . . . . . . 24 1.18 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 II General Computation Models 29 2 Declarative Computation Model 31 Copyright c 2001-3 by P. Van Roy and S. Haridi. All rights reserved. iv CONTENTS 2.1 Defining practical programming languages . . . . . . . . . . . . . 33 2.1.1 Language syntax . . . . . . . . . . . . . . . . . . . . . . . 33 2.1.2 Language semantics . . . . . . . . . . . . . . . . . . . . . . 38 2.2 The single-assignment store . . . . . . . . . . . . . . . . . . . . . 44 2.2.1 Declarative variables . . . . . . . . . . . . . . . . . . . . . 44 2.2.2 Value store . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.3 Value creation . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.4 Variable identifiers . . . . . . . . . . . . . . . . . . . . . . 46 2.2.5 Value creation with identifiers . . . . . . . . . . . . . . . . 47 2.2.6 Partial values . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.2.7 Variable-variable binding . . . . . . . . . . . . . . . . . . .Variable-variable binding ....
View Full Document

Page1 / 30

Concepts+Techniques+and+Models+of+Computer+Programming_Part1...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online