Skip to main content

Consistency of Inheritance in Object-Oriented Languages and of Static, ALGOL-like Binding

  • Chapter
  • 360 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2635))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Backus, J.W., et al.: The FORTRAN Automatic Coding System. In: Proc. Western Joint Computing Conf., vol. 11, pp. 188–198 (1957)

    Google Scholar 

  2. Bauer, F.L., Samelson, K.: Verfahren zu automatischen Verarbeitung von kodierten Daten und Rechenmaschinen zur Ausübung des Verfahrens. Patentanmeldung Deutsches Patentamt (1957)

    Google Scholar 

  3. Clarke, E.M.: Programming language constructs for which it is impossible to obtain good Hoare axiom systems. JACM 26(1), 129–147 (1979)

    Article  MATH  Google Scholar 

  4. 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)

    Google Scholar 

  5. Dahl, O.-J.: Personal correspondence. Asker (2001)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Dijkstra, E.W.: Recursive Programming. Num. Math. 2, 312–318 (1960)

    Article  MATH  MathSciNet  Google Scholar 

  8. Grau, A.A., Hill, U., Langmaack, H.: Translation of ALGOL60. In: Samelson, K. (chief ed.) Handbook for Automatic Computation Ib. Springer, Heidelberg (1967)

    Google Scholar 

  9. Hermes, H.: Aufzählbarkeit, Entscheidbarkeit, Berechenbarkeit. Springer, Heidelberg (1961)

    MATH  Google Scholar 

  10. Hoare, C.A.R.: Personal communications. EU-ESPRIT-BRA-Projekt Provably Correct Systems - ProCoS, Oxford 1990, Cambridge (2001)

    Google Scholar 

  11. Ichbiah, J.D.: Ada Reference Manual. LNCS, vol. 106. Springer, Heidelberg (1981)

    Google Scholar 

  12. Jensen, K., Wirth, N.: PASCAL-User Manual and Report, 2nd edn. Springer, Heidelberg (1975)

    MATH  Google Scholar 

  13. 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)

    Google Scholar 

  14. Kernighan, B.W., Ritchie, D.M.: The C Programming Language. Prentice Hall, Englewood Cliffs (1978)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. Krogdahl, S.: On the Implementation of BETA. Norwegian Comp. Centre (1979)

    Google Scholar 

  20. Kreczmar, A., Salwicki, A., Warpechowski, M.: LOGLAN 1988 - Report on the Programming Language. LNCS, vol. 414. Springer, Heidelberg (1990)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. McCarthy, J., et al.: Lisp 1.5 Programmer’s Manual. The M.I.T. Press, Cambridge (1965)

    Google Scholar 

  24. Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object Oriented Programming in the BETA Programming Language. Addison Wesley / ACM Press (1993)

    Google Scholar 

  25. Naur, P., et al. (eds.): Report on the Algorithmic Language ALGOL60. Num. Math. 2, 106–136 (1960)

    Google Scholar 

  26. Olderog, E.-R.: Sound and complete Hoare-like calculi based on copy rules. Acta Informatica 16, 161–197 (1981)

    Article  MATH  MathSciNet  Google Scholar 

  27. 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)

    Google Scholar 

  28. Randell, B., Russell, L.J.: ALGOL60 Implementation. Academic Press, London (1964)

    Google Scholar 

  29. Samelson, K., Bauer, F.L.: Sequentielle Formelübersetzung. Elektr. Rechenanl 1(4), 176–182 (1959)

    MATH  Google Scholar 

  30. Samelson, K.: Probleme der Programmierungstechnik. Intern. Koll. über Probleme der Rechentechnik, Dresden 1955, VEB Deutscher Verlag der Wissenschaften, Berlin, 61–68 (1957)

    Google Scholar 

  31. 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)

    Google Scholar 

  32. Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine – Definition, Verification, Validation. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  33. Steele Jr., G.L.: CommonLisp: The Language. Digital Press (1984)

    Google Scholar 

  34. Sun Microsystems. Inner Classes Specification (1997), http://java.sun.com/products/jdk/1.1/guide/innerclasses/

  35. 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)

    Google Scholar 

  36. Wilhelm, R., Maurer, D.: Übersetzerbau – Theorie, Konstruktion, Generierung. Springer, Heidelberg (1992)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics