(ref.doc)self92
Next apl
Prev: The Society of Mind
Up: References
The Design and Implementation of the SELF Compiler, an
Optimizing Compiler for Object-Oriented Programming Languages
by Craig Chambers
Thesis 1992
Department of Computer Science
Stanford University
abstraction boundary
procedure integration or inlining
By inlining the implementation, the compiler has in some way
violated the abstraction boundary. Fortunately, the compiler
does not need to follow the same restrictions as the human
programmers, and so this "violation" is quite reasonable.
Abstraction boudaries are great for people to help organizing
their programs, but serve little purpose for the implementation.
In a statically-typed language, variables are associated with
types (typically by explicit programmer declaration but
sometimes by automatic compiler inference).
A pure object-oriented language, i.e. one that uses only message
passing for computation and does not include non-object-oriented
features such as statically bound procedure calls or built-in
operators [...]
2.3.1, p 9
Programs can be smaller and more powerful if the language allows
arbitrary chunks of code to be passed as arguments to
operations. These chunks of code are called closures or blocks
and enable programmers to implement their own iterators,
exception handlers, and other sorts of control structures.
2.3.3, p 10
The implementation compromise thus discourages good use of
abstraction.
2.4.1, p 10
A robust system never becomes internally corrupted as a result
of a programming error.
Note:
comments.
automatically generated by info2www version 1.2.2.8