Title
Ferret: Programming language support for multiple dynamic classification
Abstract
We introduce a concept of multiple dynamic classification, a powerful generalization of single-inheritance OO, and a language Ferret which implements it. Multiple classification allows Male, Female, and Married to be subclasses of Person, arranged so that a single Person object may be both Male and Married, but may not be both Male and Female. Dynamic classification allows classes to change: a Person may acquire or lose Married status. The subclasses are true subclasses. Married carries fields (e.g., spouse) which are specific to married people. Methods may be defined on classes, and even on Boolean combinations of class: Male&Married. Ferret provides a generalization of superclass calls, so that the methods for Male&Married can be based on those for Male and Married, without losing other classifications like Employee. Ferret has mutators, analogous to constructors but applicable when objects change class. The resulting language is powerful and highly expressive.
Year
DOI
Venue
2009
10.1016/j.cl.2008.05.005
Computer Languages, Systems & Structures
Keywords
Field
DocType
dynamic classification,powerful generalization,multiple classification,programming language support,single person object,married status,true subclasses,multiple dynamic classification,objects change class,language ferret,married people,power generation,object oriented programming,programming language
Spouse,Programming language,Superclass,Object-oriented programming,Computer science,Single person,Artificial intelligence,Married Status,Multiple classification
Journal
Volume
Issue
ISSN
35
3
Computer Languages, Systems & Structures
Citations 
PageRank 
References 
1
0.39
4
Authors
4
Name
Order
Citations
PageRank
Bard Bloom166456.46
Paul Keyser210.73
Ian Simmonds3348.45
Mark N. Wegman434691358.45