Abstract
ALGOL60 introduced the block level structure with its characteristic static binding and visibility scopes of identifiers, phenomena known before in predicate logics and λ-calculi outside programming. Misinterpretations and misimplementations of originally intended static scope semantics of ALGOL60 and Lisp have seduced language designers and practitioners to a notion of dynamic scope semantics which suppresses identifier renamings during program execution. Dynamic scoping has become popular above all in object-oriented programming, although the inventors of the latter and authors of Simula 67, O.-J. Dahl and K. Nygaard, explicitly based their ideas on ALGOL60 and static scoping. And there are follower languages which successfully combine object-orientation and static binding. The present article demonstrates that the implementation problems around the especially flexible and useful concept of many level or skew prefixing (inheritance) can well be solved, shown by LOGLAN’88, an extension of Simula 67.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Backus, J.W., et al.: The FORTRAN Automatic Coding System. In: Proc. Western Joint Computing Conf., vol. 11, pp. 188–198 (1957)
Bauer, F.L., Samelson, K.: Verfahren zu automatischen Verarbeitung von kodierten Daten und Rechenmaschinen zur Ausübung des Verfahrens. Patentanmeldung Deutsches Patentamt (1957)
Clarke, E.M.: Programming language constructs for which it is impossible to obtain good Hoare axiom systems. JACM 26(1), 129–147 (1979)
Dahl, O.-J.: The Roots of Object Orientation: The Simula Language. In: Broy, M., Denert, E. (eds.) Software Pioneers, Contributions to Software Engineering. sd & m Conf. on Software Pioneers, Bonn 2001, pp. 79–90. Springer, Heidelberg (2002)
Dahl, O.-J.: Personal correspondence. Asker (2001)
Dahl, O.-J., Nygaard, K.: Class and Subclass Declarations. In: Buxton, J.N. (ed.) Simulation Programming Languages. Proc. IFIP Work. Conf. Oslo 1967, pp. 158–174. North Holland, Amsterdam (1968)
Dijkstra, E.W.: Recursive Programming. Num. Math. 2, 312–318 (1960)
Grau, A.A., Hill, U., Langmaack, H.: Translation of ALGOL60. In: Samelson, K. (chief ed.) Handbook for Automatic Computation Ib. Springer, Heidelberg (1967)
Hermes, H.: Aufzählbarkeit, Entscheidbarkeit, Berechenbarkeit. Springer, Heidelberg (1961)
Hoare, C.A.R.: Personal communications. EU-ESPRIT-BRA-Projekt Provably Correct Systems - ProCoS, Oxford 1990, Cambridge (2001)
Ichbiah, J.D.: Ada Reference Manual. LNCS, vol. 106. Springer, Heidelberg (1981)
Jensen, K., Wirth, N.: PASCAL-User Manual and Report, 2nd edn. Springer, Heidelberg (1975)
Kandzia, P.: On the most-recent-property of ALGOL-like preograms. In: Loeckx, J. (ed.) ICALP 1974. LNCS, vol. 14, pp. 97–111. Springer, Heidelberg (1974)
Kernighan, B.W., Ritchie, D.M.: The C Programming Language. Prentice Hall, Englewood Cliffs (1978)
Krause, M., Kreczmar, A., Langmaack, H., Salwicki, A., Warpechowski, M.: Concatenation of Program Modules. Bericht 8701, Inst. f. Informatik u. Prakt. Math. Univ. Kiel (1987)
Kreczmar, A., Krause, M., Salwicki, A., Langmaack, H.: Specification and Implementation Problems of Programming Languages Proper for Hierarchical Data Types. Bericht 8410, Inst.Informatik Prakt. Math. CAU Kiel (1984)
Krause, M., Langmaack, H., Kreczmar, A., Warpechowski, M.: Concatenation of Program Modules, an Algebraic Approach to Semantic and Implementation Problems. In: Skowron, A. (ed.) SCT 1984. LNCS, vol. 208, pp. 134–156. Springer, Heidelberg (1985)
Krause, M.: Die Korrektheit einer Implementation der Modulpräfidierung mit reiner Static-scope-Semantik, Bericht 8616, Inst. f. Informatik u. Prakt. Math. Univ. Kiel (1986)
Krogdahl, S.: On the Implementation of BETA. Norwegian Comp. Centre (1979)
Kreczmar, A., Salwicki, A., Warpechowski, M.: LOGLAN 1988 - Report on the Programming Language. LNCS, vol. 414. Springer, Heidelberg (1990)
Langmaack, H.: Konsistenz von Vererbung in objektorientierten Sprachen und von statischer, ALGOL-artiger Bindung. In: Indermark, K., Noll, T. (eds.) Kolloquium Programmiersprachen und Grundlagen der Programmierung, Rurberg 2001. Aachener Informatik Berichte AIB-2001-11, RWTH Aachen, 47–52 (2001)
Langmaack, H., Olderog, E.-R.: Present day Hoare-like systems for programming languages with procedures: Power, limits, and most likely extensions. In: de Bakker, J.W., van Leeuwen, J. (eds.) Proc. 7th Conf. Automata, Languages and Programming 1980. LNCS, vol. 25, pp. 363–373. Springer, Heidelberg (1980)
McCarthy, J., et al.: Lisp 1.5 Programmer’s Manual. The M.I.T. Press, Cambridge (1965)
Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object Oriented Programming in the BETA Programming Language. Addison Wesley / ACM Press (1993)
Naur, P., et al. (eds.): Report on the Algorithmic Language ALGOL60. Num. Math. 2, 106–136 (1960)
Olderog, E.-R.: Sound and complete Hoare-like calculi based on copy rules. Acta Informatica 16, 161–197 (1981)
ACM Committee on Programming Languages and GAMM Committee on Programming, ed. by A.J.Perlis, K.Samelson. Report on the Algorithmic Language ALGOL. Num. Math. 1, 41-60 (1959)
Randell, B., Russell, L.J.: ALGOL60 Implementation. Academic Press, London (1964)
Samelson, K., Bauer, F.L.: Sequentielle Formelübersetzung. Elektr. Rechenanl 1(4), 176–182 (1959)
Samelson, K.: Probleme der Programmierungstechnik. Intern. Koll. über Probleme der Rechentechnik, Dresden 1955, VEB Deutscher Verlag der Wissenschaften, Berlin, 61–68 (1957)
Salwicki, A., Warpechowski, M.: Combining Inheritance and Nesting Together: Advantages and Problems. In: Workshop Concurrency Specification and Programming CS&P 2002, Berlin, p. 12 (2002)
Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine – Definition, Verification, Validation. Springer, Heidelberg (2001)
Steele Jr., G.L.: CommonLisp: The Language. Digital Press (1984)
Sun Microsystems. Inner Classes Specification (1997), http://java.sun.com/products/jdk/1.1/guide/innerclasses/
van Wijngaarden, A., Mailloux, B.J., Peck, J.E.L., Koster, C.H.A. (ed.): Report on the Algorithmic Language ALGOL68. Num. Math. 14, 79- 218 (1969)
Wilhelm, R., Maurer, D.: Übersetzerbau – Theorie, Konstruktion, Generierung. Springer, Heidelberg (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Langmaack, H. (2004). Consistency of Inheritance in Object-Oriented Languages and of Static, ALGOL-like Binding. In: Owe, O., Krogdahl, S., Lyche, T. (eds) From Object-Orientation to Formal Methods. Lecture Notes in Computer Science, vol 2635. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39993-3_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-39993-3_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21366-6
Online ISBN: 978-3-540-39993-3
eBook Packages: Springer Book Archive