Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword or section
Like this
2Activity

Table Of Contents

1 Introduction
1.1 How important are programming languages?
1.2 Features of the Course
2 Anomalies
3 The Procedural Paradigm
3.1 Early Days
3.2 FORTRAN
3.3 Algol 60
3.4 COBOL
3.5 PL/I
3.6 Algol 68
3.7 Pascal
3.8 Modula–2
3.9 C
3.10 Ada
4.1 LISP
4.1.1 Basic LISP Functions
4.1.2 A LISP Interpreter
4.1.3 Dynamic Binding
4.2 Scheme
4.3 SASL
4.4 SML
4.5 Other Functional Languages
5 Haskell
5.1 Getting Started
5.1.1 Hugs Commands
5.1.2 Literate Haskell
5.1.3 Defining Functions
5.1.4 Syntax
5.1.5 Tracing
5.2 Details
5.2.1 Lists
5.2.3 Pattern Matching
5.2.4 Operators
5.2.5 Building Haskell Programs
5.2.6 Guards
5.3 Types
5.3.1 Using Types
5.3.2 Failure
5.3.3 Reporting Errors
5.3.4 Standard Types
5.3.5 Standard Classes
5.3.6 Defining New Types
5.3.7 Defining Data Types
5.3.8 Types with Parameters
5.4 Input and Output
5.4.1 String Formatting
5.4.2 Interactive Programs
5.5 Reasoning about programs
6 The Object Oriented Paradigm
6.1 Simula
6.2 Smalltalk
6.3 CLU
6.4 C++
6.5 Eiffel
6.5.1 Programming by Contract
6.5.2 Repeated Inheritance
6.5.3 Exception Handling
6.6 Java
6.6.1 Portability
6.6.2 Interfaces
6.6.3 Exception Handling
6.6.4 Concurrency
6.7 Kevo
6.8 Other OOPLs
6.9 Issues in OOP
6.9.1 Algorithms + Data Structures = Programs
6.9.2 Values and Objects
6.9.3 Classes versus Prototypes
6.9.4 Types versus Objects
6.9.5 Pure versus Hybrid Languages
6.9.6 Closures versus Classes
6.9.7 Inheritance
6.10 A Critique of C++
6.11 Evaluation of OOP
7 Backtracking Languages
7.1 Prolog
7.2 Alma-0
7.3 Other Backtracking Languages
8 Structure
8.1 Block Structure
8.2 Modules
8.2.1 Encapsulation
8.3 Control Structures
8.3.1 Loop Structures
8.3.2 Procedures and Functions
8.3.3 Exceptions
9 Names and Binding
9.1 Free and Bound Names
9.2 Attributes
9.3 Early and Late Binding
9.4 What Can Be Named?
9.5 What is a Variable Name?
9.6 Polymorphism
9.6.1 Ad Hoc Polymorphism
9.6.2 Parametric Polymorphism
9.6.3 Object Polymorphism
9.7 Assignment
9.8 Scope and Extent
9.8.1 Scope
9.8.2 Are nested scopes useful?
9.8.3 Extent
10 Abstraction
10.1 Abstraction as a Technical Term
10.1.1 Procedures
10.1.2 Functions
10.1.3 Data Types
10.1.4 Classes
10.2 Computational Models
11 Implementation
11.1 Compiling and Interpreting
11.1.1 Compiling
11.1.2 Interpreting
11.1.3 Mixed Implementation Strategies
11.1.4 Consequences for Language Design
11.2 Garbage Collection
12 Conclusion
References
A Abbreviations and Glossary
B Theoretical Issues
B.1 Syntactic and Lexical Issues
B.2 Semantics
B.3 Type Theory
B.4 Regular Languages
B.4.1 Tokens
B.4.2 Context Free Grammars
B.4.3 Control Structures and Data Structures
B.4.4 Discussion
C Haskell Implementation
0 of .
Results for:
No results containing your search query
P. 1
ppl book

ppl book

Ratings: (0)|Views: 3,995|Likes:
Published by illusion_bsr

More info:

Published by: illusion_bsr on Jun 20, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/20/2011

pdf

text

original

You're Reading a Free Preview
Pages 4 to 25 are not shown in this preview.
You're Reading a Free Preview
Pages 29 to 51 are not shown in this preview.
You're Reading a Free Preview
Pages 55 to 113 are not shown in this preview.
You're Reading a Free Preview
Pages 117 to 160 are not shown in this preview.
You're Reading a Free Preview
Pages 164 to 171 are not shown in this preview.

Activity (2)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->