Systematic Development of
Conceptual view (Model of Computation)
imperative, functional, relational,.
Level of abstraction (Model of Implementation)
Managing Environments An Exercise in the Design, Analysis, Specification, and Implementation of the Core of an OOP Language.
Prasad L145OOL 1
Interpret = Compile + Run
OOPL program object code
C pile om r
Specification and Implementation of Abstract Data Types
Interested in WHAT services a module provides, not HOW they are carried out. So, ignore details irrelevant to the overall behavior, for clarity.
let insufficient for recursion
(let(fact(lambda(n) (if(zero?n)1 (*n(fact(n1) ) ) ) (fact6) )
Problem : The closure to be formed must freeze the environment containing the correct cs784(Prasad) L10Rec 2 bindin
Study Semantics of Programming
Languages through interpreters
Representation of a program (AST)
Meaning of the program
s Interpreter vs Compiler
s Procedural/Imperative s Functional s Logic s Object-Oriented
Imperative vs Non-Imperative
Functional/Logic programs specify WHAT is to be computed abstractly, leaving the details of data organization and instr
Properties satisfied by the input and expected of the
output (usually described using assertions).
E.g., Sorting problem
Input : Sequence o