Navigation
index
next
|
Programming Languages documentation
»
Programming Languages
Programming Languages
¶
Table of Contents:
1. Introduction
1.1. About this course
1.2. Evaluation
1.3. A Fundamental Question
1.4. Definition of a language
1.5. Differences in syntax
1.6. Differences in semantics
1.7. Criteria for good programming languages
1.8. Reasons to study the theory of programming language
2. Syntax and Semantics
2.1. Brief introduction to the formal language theory
2.2. Glance at the semantics theory
3. Names and Bindings
3.1. Names in a program
3.2. Namespace
3.3. Bindings
3.4. Scope
4. Variables
4.1. What is a variable?
4.2. Type
4.3. Left value
4.4. Memory management
4.5. Extent
5. Types
5.1. What is a type?
5.2. Type declaration
5.3. Various types
5.4. Type systems
5.5. Type inference
5.6. Polymorphism
6. Expressions
6.1. Operator Precedence Grammar
6.2. Order of evaluation
6.3. Short-circuit evaluation
6.4. Lazy evaluation
7. Control structures
7.1. Structured programming
7.2. Non-local exits
7.3. Exceptions
8. Subprograms
8.1. What is a subprogram?
8.2. Parameter
8.3. Direction of parameter passing
8.4. Evaluation strategy of parameters
8.5. Closure
9. Object Oriented Programming
9.1. What is “Object Oriented”?
9.2. Abstract data type
9.3. Designing object oriented languages
10. Functional Programming
10.1. What is functional programming language?
10.2. referential transparency
10.3. Theoretical basis
10.4. Monad
Appendix
Mid-term paper
Answer
Index
Search Page
Next topic
1.
Introduction
This Page
Show Source
Quick search
Navigation
index
next
|
Programming Languages documentation
»
Programming Languages