Each object is an instance of a class, Objects react to messages by executing methods, Binding of messages to methods is dynamic, Classes are organized into a tree allowing inheritance of data models and methods. The Smalltalk language has no classical control structures.
Control is achieved using a delayed evaluation mechanism called a block .
A Block is a context retaining an environment. It can be evaluated as many times as necessary. Blocks as objects Blocks are full status objects. They can be components of more complex objects, such as Arrays. Assembling Blocks together Blocks can be components of more complex objects, such as Arrays.