SMALLTALK-80: the interactive programming environment
SMALLTALK-80: the interactive programming environment
Understanding Z: a specification language and its formal semantics
Understanding Z: a specification language and its formal semantics
Programming from specifications
Programming from specifications
Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
The Larch/Smalltalk interface specification language
ACM Transactions on Software Engineering and Methodology (TOSEM)
ACM SIGPLAN Notices
iContract - The Java(tm) Design by Contract(tm) Tool
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Hi-index | 0.01 |
The ability to treat code as data within a programming language is a powerful feature. Smalltalk introduces an object called a block that represents code as data. We propose a formal description technique to specify the behavior of Smalltalk blocks. The traditional Hoare-style pre- and postcondition technique is extended to incorporate two new predicate composition operators called a sequence operator and a sequential quantifier. The sequence operator combines two predicates by identifying the post-state of the first predicate and the pre-state of the second predicate. The sequential quantifier is an extension of sequence operator to a sequence of predicates. We illustrate our approach by using Smalltalk blocks, but the approach is not in any way Smalltalk specific. It can be applied to closures in other programming languages