Building Abstractions with Data Flashcards
Data Abstraction
The programming methodology of setting up data objects by postulating constructors and selectors to isolate use from representation.
Closure
The means of combination in your system are such that when you put things together using them, like we make a pair, you can then put those together with the same means of combination. So I can have not only a pair of numbers, but I can have a pair of pairs.
rule
a rule recognizes a pattern with something that matches, and renders a skeleton – something you substitute into in order to get a new expression. (instantiation)
dispatch on type
break your system into a bunch of pieces. And implementations have types associated with them to identify the protocols needed to be ran on the generic operators
data-directed programming
the idea of that is in some sense the data objects themselves, those little complex numbers that are floating around the system, are carrying with them the information about how you should operate on them.
Function programming
“a kind of encoding of mathematical truths.”
how do you apply a procedure to its arguments?
a procedure object is applied to a set of argument by constructing a frame, binding the formal parameters of the procedure to the actual argument for the call, and then evaluating the body of the procedure in the context of the new environment constructed. That frame will contain the mapping of the former parameters to the actual parameters of the arguments that were supplied in the call.
Environment
the environment is a sequence of frames linked together.