Skip to main content

Octopus: A Reflective Language Mechanism for Object Manipulation

  • Conference paper
Database Programming Languages (DBPL-4)

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

A class of database programs exist which are required to operate over an infinite number of types; included in this class are object browsers and query tools. The types over which these programs operate cannot be enumerated statically. One solution to this problem is to provide a reflective language mechanism that permits the types of values to be abstracted over and the values manipulated in a type independent manner; this paper describes such a mechanism. The mechanism is called Octopus which is an acronym for Object Closure Transplantable to Other Persistent User Spaces. The essence of the technique is to allow values from the programming language value space to be hoisted up to a meta level and manipulated in ways which the programming language would not otherwise permit. When manipulation is complete they may be dropped back into the value space, provided that they still conform to the languageā€™s type system. An additional feature of this technique, as the name suggests, is the ability to isolate portions of closures, and copy them to other locations. Partial closures may be rewired, possibly in a different context, using the meta level interface supplied by Octopus.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Albano, A., Cardelli, L. and Orsini, R. ā€œGalileo: A Strongly Typed, Interactive Conceptual Languageā€, ACM Transactions on Database Systems, vol 10, 2, pp. 230ā€“260, 1985.

    ArticleĀ  Google ScholarĀ 

  2. Atkinson, M. P. ā€œMalcolmā€™s Famous Parts Exampleā€, Personal Communication, 1887.

    Google ScholarĀ 

  3. Bachman, C. W. ā€œThe Programmer as Navigatorā€, Turing Award Lecture, in Communications of the ACM, vol 16, 11, pp. 653ā€“658, 1973.

    ArticleĀ  Google ScholarĀ 

  4. Cardelli, L. ā€œTypeful Programmingā€, Research Report 45, DIGITAL Systems Research Center, 1989.

    Google ScholarĀ 

  5. Connor, R. C. H., Brown, A. L., Cutts, Q. I., Dearle, A., Morrison, R. and Rosenberg, J. ā€œType Equivalence Checking in Persistent Object Systemsā€, in Proceedings of the 4th International Workshop on Persistent Object Systems, Morgan-Kaufmann, Marthaā€™s Vineyard, Massachusetts, pp. 151ā€“164, 1990.

    Google ScholarĀ 

  6. Davie, A. J. T. and McNally, D. J. ā€œPCASE - A Persistent Lazy Version of an SECD Machineā€, Research Report, University of St. Andrews, CS/92/7, 1992.

    Google ScholarĀ 

  7. Dearle, A. and Brown, A. L. ā€œSafe Browsing in a Strongly Typed Persistent Environmentā€, The Computer Journal, vol 31, 6, pp. 540ā€“545, 1988

    ArticleĀ  Google ScholarĀ 

  8. Dearle, A., Rosenberg, J. and Vaughan, F. ā€œA Remote Execution Mechanism for Distributed Homogeneous Stable Storesā€, in Proceedings of the Third International Workshop on Database Programming Languages, Morgan Kauffman, pp. 125ā€“138, 1991.

    Google ScholarĀ 

  9. Farkas, A. M., Dearle, A., Kirby, G., Cutts, Q., Morrison, R. and Connor, R. ā€œPersistent Program Construction through Browsing and User Gesture with some Typingā€, in Proceedings of the Fifth International Workshop on Persistent Object Systems, Pisa, pp. 376ā€“393, 1992.

    Google ScholarĀ 

  10. Futatsugi, K., Goguen, J., Meseguer, J. and Okada, K. ā€œParameterized Programming in OBJ2ā€, in Proceedings of the Ninth International Conference of Software Engineering, pp. 51ā€“60, 1987.

    Google ScholarĀ 

  11. Apple Computer Inc., ā€œInside Macintoshā€, Addison-Wesley, 1986.

    Google ScholarĀ 

  12. American National Standards Institute, ā€œDatabase Language SQLā€, New York, 1986.

    Google ScholarĀ 

  13. Kirby, G. N. C. ā€œReflection and Hyper-Programming in Persistent Programming Systemsā€, Ph.D. Thesis, University of St. Andrews, 1993.

    Google ScholarĀ 

  14. Kirby, G. N. C., Connor, R. C. H., Cutts, Q. I., Dearle, A., Farkas, A. and Morrison, R. ā€œPersistent Hyper-Programsā€, in Proceedings of the Fifth International Workshop on Persistent Object Systems, Pisa, pp. 86ā€“106, 1992.

    Google ScholarĀ 

  15. Kirby, G. N. C. and Dearle, A. ā€œAn Adaptive Browser for Napier88ā€, Research Report, University of St. Andrews, 90 /16, 1990.

    Google ScholarĀ 

  16. Matthes, F. and Schmidt, J. ā€œThe Type System of DBPLā€, in Proceedings of the 2nd International Workshop on Database Programming Languages, Oregon, pp. 219ā€“225, 1989.

    Google ScholarĀ 

  17. Morrison, R., Atkinson, M. P., Brown, A. L. and Dearle, A. ā€œOn the Classification of Binding Mechanismsā€, Information Processing Letters, vol 34, 2, pp. 51ā€“55, 1990.

    ArticleĀ  MATHĀ  Google ScholarĀ 

  18. Morrison, R., Brown, A. L., Connor, R. and Dearle, A. ā€œThe Napier88 Reference Manualā€, University of St. Andrews, PPRR-77ā€“89, 1989.

    Google ScholarĀ 

  19. Peyton-Jones, S. ā€œThe implementation of functional languagesā€, Prentice-Hall, 1987.

    Google ScholarĀ 

  20. Stemple, D., Stanton, R. B., Sheard, T., Philbrow, P., Morrison, R., Kirby, G., Fegaras, L., Cooper, R. L., Connor, R. C. H., Atkinson, M. P. and Alagic, S. ā€œType-Safe Linguistic Reflection: A Generator Technologyā€, ESPRIT BRA Project 3070 FIDE Technical Report, FIDE/92/49, 1991.

    Google ScholarĀ 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

Ā© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Farkas, A., Dearle, A. (1994). Octopus: A Reflective Language Mechanism for Object Manipulation. In: Beeri, C., Ohori, A., Shasha, D.E. (eds) Database Programming Languages (DBPL-4). Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3564-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3564-7_4

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19853-6

  • Online ISBN: 978-1-4471-3564-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics