Computational reflection

Smalltalk-80 provides structural and computational reflection comportacional because it is a system implemented in itself. Structural reflection is evident in the classes and methods that define the system are objects in themselves and also form part of the system itself. Most Smalltalk implementations tend to expose the compiler andalusia Smalltalk programming environment, allowing the system to compile source code (textual) and transformed into objects, methods, instances of which are commonly CompiledMethod class. The system usually incorporates these methods in classes, stored in the dictionary of methods of the class to which you want to add behavior that makes the method. This, as well as the incorporation of new classes to the system, is performed within the same system, although most implementations are visual tools that hide the complexity of interacting with the class that is usually responsible for such tasks, the ClassBuilder.
Reflections comportacional Smalltalk-80 is expressed in the possibility of observing the state of the computer system. In the language derived from the original Smalltalk-80, for sending messages between objects, each object receives a query message class to access methods defined. If the method found in class, is said to be “active” method. This activation of a method currently under implementation, is accessible through a keyword thisContext call. Sending messages is available thisContext issues such as “who sent me this message.” These facilities make it possible to implement co-routines, continued or back-tracking andalusia Prolog style without modifying the virtual machine. One of the most interesting uses of this facility is given in the web framework Seaside Avi Bryant.

Get more: