Maharishi University of Management
Computer Science
COMP 505: Advanced Programming Languages
Important Points for the final exam
Definitions
Review the definitions on your study guide.
Denotational Semantics
Understand how to add functionality to the CALC language (Watt p. 51)
Stores and Environments
Understand how to add Registers to the CALC language
Understand how to add functionality to the EXP language (Watt p. 63)
Understand how to add functionality to the IMP language (Watt p. 66)
Abstractions
Understand how to add functions and procedures (with arguments) to the IMP language
Semantic Prototyping
Understand how to prove if two program segments are equivalent or not
Exercise 4.11 in Watt (p. 120)
Continuation Semantics
Understand Tennent's notation for denotational semantics (Tennent p. 221 - 223)
Understand Tennent's notation for continuation semantics (Tennent p. 226 - 228)
Unerstand how to add functionality to the language defined in Tennent p. 226 - 228
Lambda Calculus
Understand alpha, beta and eta reductions
Normal-order evaluation vs. eager evaluation
Enrichmens to lambda calculus (Watt. p. 128 - 130)