Names, Scopes, Binding, and Control Flow Flashcards
What is the main driving force behind the design of modern languges?
Ease of programming
High level programming is more a______
Abstract
Abstraction means that complexity becomes
Manageable
What do the following mean:
Name
Binding
Scope
Binding Time

What is static binding vs dynamic binding?

Early binding times have greater ____
Late binding times have greater _____
Early binding times: greater efficiency
Late binding times: greater flexibility
What is the difference between compiled and interpreted languages?

What is the lifetime of name-to-binding?

What is a dangling reference?
When the object’s lifetime is less than the binding’s lifetime
What is the scope of a binding?
The textual region of the program in which the binding is active
What is the difference between the following storage allocation mechanisms:
Static
Stack
Heap

What is static allocation

What is stack-based allocation?

What is a Frame for a subroutine call?

What is heap allocation?

For heap allocation, what are the differene between the following allocation algorithms:
first fit, best fit
pool allocation

Examine some of the differences between explicit deallocation and implicit deallocation?

What is a subroutine entry?

What is a subroutine exit?

What is a referencing environment?

What is static scoping?

What are some important things for scope rules

Examine the following nested subroutine graphic:

What are static links?

What is declaration order?

Examine the following examples for declaration order:

What is dynamic scoping?

Examine the following dynamic scoping examples;

What is a referencing environment?

What is shallow binding vs deep binding?

What is subroutine closure?

Why does binding time matter with static scoping?

Consider the following deep binding example:

What are the following:
First-class values
Second-class values
Third-class

Examine the following with regards to first-class subroutines:

What are lambda expressions?

Examine the following lambda function examples:

What is sequencing’s role in imperative and functional languages?

What is recursion’s role in imperative and functional languages?

Does logic programming have control flow

What are the differences between:
prefix
postfix
infix

What is the difference between the value model and the reference model?

What are the following:
- call by value
- call by reference
- call by sharing
- call by name
- call by need

What is short circuiting?

Is recursion generally more efficient that iteration?
No
What type of recursion is as fast as iteration? How?

What is applicative evaluation order?

What is normal-order evaluation order?

What is lazy vs strict evaluation?
Lazy evaluation stops evaluating params when it knows the result:
