[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

Programming with explicit metaclasses in Smalltalk-80

Published: 01 September 1989 Publication History

Abstract

This paper discusses the introduction of explicit metaclasses á la ObjVlisp into the Smalltalk-80 language. The rigidity of Smalltalk metaclass architecture motivated this work. We decided to implement the ObjVlisp model into the standard Smalltalk-80 system. The resulting combination defines the Classtalk platform. This platform provides a full-size environment to experiment with class-oriented programming by combining implicit metaclasses á la Smalltalk and explicit metaclasses á la ObjVlisp. Obviously, these experiments are not limited to the Smalltalk world and will be useful to understand and practice the metaclass concept advocated by modern object-oriented languages such as ObjVlisp and CLOS.

References

[1]
G. Attardi, C. Bonini, M.-R. Boscotrecase, T. Flagella and M. Gaspari, Metalevel Programming in CLOS, ECOOP'89, Cambridge University Press, July 1989.
[2]
D.G. Bobrow and G. Kiczales, The Common Lisp Object System Metaobject Kernel: A Status Report, ACM Conference on Lisp and Functional Programming (LFP'88), pages 309-315, July 1988.
[3]
A. Borning and T. O'Shea, Deltatalk: An Empirically and Aesthetically Motivated Simplification of the Smalltalk-80 Language, ECOOP'87, LNCS, No 276, pages 1-I0, Springer- Verlag, June 1987.
[4]
J.-P. Briot and P. Cointe, A Uniform Model for Object-Oriented Languages Using The Class Abstraction, IJCAr87, Vol. 1, pages 40-43, August 1987.
[5]
P. Cointe, Metaclasses are First Class: the ObjVlisp Model, OOPSLA'87, pages 156-167.
[6]
P. Cointe and N. Graube, Programming with Metaclasses in CLOS, First CLOS Users and Implementors Workshop, Xerox Parc, Palo Alto CA, USA, pages 23-29, October 1988.
[7]
P. Cointe, A Tutorial Introduction to Metaclass Architecturesas Provided by ClassOriented Languages, International Conference on Fifth Generation Computer Systems (FGCS'88), Vol. 2, pages 592-608, Icot, Tokyo, Japan, November-December 1988.
[8]
A. Goldberg and D. Robson, Smalltalk-80: the Language and its Implementation, Series in Computer Science, Addison Wesley, 1983.
[9]
N. Graube, M e t a c l a s s Compatibility, in same volume.
[10]
D.H.H. ingalls and A.H. Borning, Multiple inheritance in Smalltalk-80, Proceedings of the National Conference on Artificial Intelligence, pages 234-237, USA, August 1982.
[11]
Malenfant, G. Lapalme and J. Vaucher, ObjVProlog: Metaclasses in Logic, ECOOP'89, Cambridge University Press, July 1989.
[12]
D. Ungar and R.B. Smith, Self: The Power of Simplicity, OOPSLA'87, pages 227-242.
[13]
F. Wolinski, Le Systdme MV2C~ Modglisation et Ggndration dTnterfaces Homme-Machine, Report 89/38, Laforia, Universit6 Pierre et Marie Curie, Paris, April 1989.

Cited By

View all
  • (2024)Pharo: A reflective language—Analyzing the reflective API and its internal dependenciesJournal of Computer Languages10.1016/j.cola.2024.10127480(101274)Online publication date: Aug-2024
  • (2014)A component-based meta-level architecture and prototypical implementation of a reflective component-based programming and modeling languageProceedings of the 17th international ACM Sigsoft symposium on Component-based software engineering10.1145/2602458.2602476(13-22)Online publication date: 27-Jun-2014
  • (2011)The ink language meta-metamodel for adaptive object-model frameworksProceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion10.1145/2048147.2048196(181-182)Online publication date: 22-Oct-2011
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 24, Issue 10
Special issue: Proceedings of the 1989 ACM OOPSLA conference on object-oriented programming
Oct. 1989
446 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/74878
Issue’s Table of Contents
  • cover image ACM Conferences
    OOPSLA '89: Conference proceedings on Object-oriented programming systems, languages and applications
    September 1989
    528 pages
    ISBN:0897913337
    DOI:10.1145/74877
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 1989
Published in SIGPLAN Volume 24, Issue 10

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)138
  • Downloads (Last 6 weeks)25
Reflects downloads up to 24 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Pharo: A reflective language—Analyzing the reflective API and its internal dependenciesJournal of Computer Languages10.1016/j.cola.2024.10127480(101274)Online publication date: Aug-2024
  • (2014)A component-based meta-level architecture and prototypical implementation of a reflective component-based programming and modeling languageProceedings of the 17th international ACM Sigsoft symposium on Component-based software engineering10.1145/2602458.2602476(13-22)Online publication date: 27-Jun-2014
  • (2011)The ink language meta-metamodel for adaptive object-model frameworksProceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion10.1145/2048147.2048196(181-182)Online publication date: 22-Oct-2011
  • (2009)ModelTalkIEEE Software10.1109/MS.2009.9726:4(39-46)Online publication date: 1-Jul-2009
  • (2001)A Generic Reification Technique for Object-Oriented Reflective LanguagesHigher-Order and Symbolic Computation10.1023/A:101154911535814:1(7-34)Online publication date: 1-Mar-2001
  • (1997)Maintaining the consistency of class libraries during their evolutionACM SIGPLAN Notices10.1145/263700.26370132:10(1-21)Online publication date: 9-Oct-1997
  • (1997)Maintaining the consistency of class libraries during their evolutionProceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications10.1145/263698.263701(1-21)Online publication date: 9-Oct-1997
  • (1991)ClusterACM SIGPLAN Notices10.1145/122203.12220826:1(57-74)Online publication date: 1-Jan-1991
  • (2019)Fully Reflective Execution Environments: Virtual Machines for More Flexible SoftwareIEEE Transactions on Software Engineering10.1109/TSE.2018.281271545:9(858-876)Online publication date: 1-Sep-2019
  • (2014)A run-time representation of scheme record typesJournal of Functional Programming10.1017/S095679681400020324:6(675-716)Online publication date: 1-Sep-2014

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media