Abstract
This paper proposes a code reuse mechanism called module embedding that enables the building of new modules from existing ones through inheritance, overriding of procedures, and overriding of types; the paper also describes an implementation scheme for this mechanism. Module embedding is beneficial when modules and classes are used in combination and need to be extended together, or when modules are a more appropriate medium than classes.
Similar content being viewed by others
References
Bracha, G.: The Programming Language Jigsaw: Mixins, Modularity and Multiple Inheritance. Technical report UUCS-92-007, University of Utah, 1992
Cardelli, L., Donahue, J., Glasman, L., Jordan, M., Kalsow, B., Nelson, G.: Modula-3 language definition. ACM SIGPLAN Notices 27(8): 15–42, 1992
Chambers, C., Leavens, G.: Typechecking and Modules for Multimethods. ACM Transactions on Programming Languages and Systems. 17(6): 805–843, 1995
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series, Addison-Wesley, 1995
Hansen, B.: Brinch Hansen on Pascal Compilers. Prentice Hall, 1985
Hansen, B.: SuperPascal — a publication language for parallel scientific computing. Concurrency — Practice and Experience, 6(5): 461–483, 1994
Hansen, B.: Studies in Computational Science: Parallel Programming Paradigms. Prentice Hall, 1995
Lucas, C., Steyaert, P.: Modular inheritance of objects through mix-in methods. In Advances in Modular Languages. University of Ulm, 1994, pp. 273–282
Mössenböck, H.: Object-Oriented Programming in Oberon-2. Berlin, Heidelberg, New York: Springer-Verlag, 1993
Radenski, A.: Prototype Implementation of Paradigm/SP, http://www.rtpnet.org/~radenski/research/, 1998
Reiser, M., Wirth, N.: Programming in Oberon: Steps beyond Pascal and Modula. ACM Press, 1992
Szyperski, C.: Why we need both: Modules and classes. In: Proceedings of OOPSLA, 1992, pp. 19–32
Taft, S.-T.: Ada 9X: A technical summary. Communications of the ACM 35(11): 77–84, 1992
Taft, S.-T.: Ada 9X: From abstraction-oriented to objectoriented. In Proceedings of OOPSLA, 1993, pp. 127–135
Winkler, J.: Objectivism: “Class” considered harmful. Communications of the ACM 35(8): 128–130, 1992
Wirth, N.: Type extensions. ACM Transactions on Programming Languages and Systems 10: 204–214, 1987
Wirth, N.: The programming language Oberon. Software — Practice and Experience 18(7): 671–690, 1988
Wirth, N., Gutknecht, J.: Project Oberon. ACM Press, 1992
Author information
Authors and Affiliations
Additional information
This work is partially supported by NSF grant CCR-9509223 and NASA grant NAG3-2011.
Rights and permissions
About this article
Cite this article
Radenski, A. Module embedding e]radenski@ga.unc.edu. Software - Concepts & Tools 19, 122–129 (1998). https://doi.org/10.1007/s003780050015
Published:
Issue Date:
DOI: https://doi.org/10.1007/s003780050015