TY - JOUR
T1 - Object-oriented programming with gradual abstraction
AU - Nørmark, Kurt
AU - Thomsen, Lone Leth
AU - Thomsen, Bent
PY - 2013/1
Y1 - 2013/1
N2 - We describe an experimental object-oriented programming language, ASL2, that supports program development by means of a series of abstraction steps. The language allows immediate object construction, and it is possible to use the constructed objects for concrete problem solving tasks. Classes and class hierarchies can be derived from the objects - via gradual abstraction steps. We introduce two levels of object classification, called weak and strong object classification. Strong object classification relies on conventional classes, whereas weak object classification is looser, and less restrictive. As a central mechanism, weakly classified objects are allowed to borrow methods from each other. ASL2 supports class generalization, as a counterpart to class specialization and inheritance in mainstream object-oriented programming languages. The final abstraction step discussed in this paper is a syntactical abstraction step that derives a source file with a syntactical class form.
AB - We describe an experimental object-oriented programming language, ASL2, that supports program development by means of a series of abstraction steps. The language allows immediate object construction, and it is possible to use the constructed objects for concrete problem solving tasks. Classes and class hierarchies can be derived from the objects - via gradual abstraction steps. We introduce two levels of object classification, called weak and strong object classification. Strong object classification relies on conventional classes, whereas weak object classification is looser, and less restrictive. As a central mechanism, weakly classified objects are allowed to borrow methods from each other. ASL2 supports class generalization, as a counterpart to class specialization and inheritance in mainstream object-oriented programming languages. The final abstraction step discussed in this paper is a syntactical abstraction step that derives a source file with a syntactical class form.
KW - Abstraction steps
KW - ASL2
KW - Objects before classes
KW - Scheme
KW - Weak and strong classification of objects
UR - http://www.scopus.com/inward/record.url?scp=84877908655&partnerID=8YFLogxK
UR - http://dl.acm.org/citation.cfm?doid=2384577.2384583
U2 - 10.1145/2384577.2384583
DO - 10.1145/2384577.2384583
M3 - Journal article
AN - SCOPUS:84877908655
SN - 1523-2867
VL - 48
SP - 41
EP - 51
JO - A C M / S I G P L A N Notices
JF - A C M / S I G P L A N Notices
IS - 2
ER -