Skip to main content

Reflecting Java into Scheme

  • Conference paper
  • First Online:
Book cover Meta-Level Architectures and Reflection (Reflection 1999)

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

Included in the following conference series:

  • 208 Accesses

Abstract

We describe our experience with SILK, a Scheme dialect written in Java. SILK grazes symbiotically on Java’s reflective layer, enriching itself with Java’s classes and their behavior. This is done with three procedures. (constructor) and (method) provide access to a specific Java constructor or method respectively. (import) allows the entire behavior of a class to be imported easily. (import) converts Java methods into generic functions that take methods written in Java or Scheme. In return, SILK provides Java applications with an interactive development and debugging environment that can be used to develop graphical applications from the convenience of your web browser. Also, because SILK has introspective access into Java, it can also be used for compile time metaobject scripting. For example, it can generate a new class using an old one as a template.

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

Access this chapter

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.

References

  1. http://www-swiss.ai.mit.edu/~jaffer/SLIB.html

    Google Scholar 

  2. Aubrey Jaffer, r4rstest.scm, ftp://ftp-swiss.ai.mit.edu/pub/scm/r4rstest.scm.

    Google Scholar 

  3. Gregor Kiczales, Tiny CLOS, file://parcftp.xerox.com/pub/mops/tiny/

    Google Scholar 

  4. Gregor Kiczales and Luis Rodriguez, Efficient method dispatch in PCL, proceedings 1990 ACM Conference on LISP and Functional Programming, Nice, France, June 1990, 99–105.

    Google Scholar 

  5. Brian Beckman, A scheme for little languages in interactive graphics, Software Practice and Experience, 21,2, p. 187–208, Feb, 1991.

    Article  MathSciNet  Google Scholar 

  6. A. Berlin and D. Weise, Compiling scientific code using partial evaluation. Technical Report CSL-TR 90-422, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, 1990.

    Google Scholar 

  7. Clifford Beshers Steven Feiner, Generating efficient virtual worlds for visualization using partial evaluation and dynamic compilation, ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM’97), p. 107–115.

    Google Scholar 

  8. Mike Travers, Skij, IBM alphaWorks archive, http://www.alphaworks.ibm.com/formula/Skij

    Google Scholar 

  9. Christian Queinnec, JaJa: Scheme in Java, http://wwwspi.lip6.fr/~queinnec/WWW/Jaja.html

    Google Scholar 

  10. Per Bothner, Kawa the Java-based Scheme System, http://www.cygnus.com/~bothner/kawa.html

    Google Scholar 

  11. http://www-spi.lip6.fr/~queinnec/Papers/dispatch.ps.gz

    Google Scholar 

  12. Shih-Kun Huang and Deng-Jyi Chen, Efficient algorithms for method dispatch in object-oriented programming systems, Journal of Object-Oriented Programming, 5(5):43–54, September 1992.

    Google Scholar 

  13. E. Amiel, O. Gruber, and E. Simon, Optimmizing multi-method dispatch using compressed dispatch tables. In OOPSLA’ 94, October 1994.

    Google Scholar 

  14. Jan Vitek and R. Nigel Horspool, Taming message passing: Efficien method lookup for dynamically typed languages. ECOOP’ 94-8th European Conference on Object-Oriented Programming, Bologna (Italy), 1994.

    Google Scholar 

  15. Weimin Chen and Volker Turau, Multiple-dispatching base on automata, Theory and Practice of Object Systems, 1(1):41–60, 1995.

    Google Scholar 

  16. http://kaolin.unice.fr/STk/

    Google Scholar 

  17. J.L. Bentley, More Programming Pearls, Addison-Wesley, Reading, MA, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Anderson, K.R., Hickey, T.J. (1999). Reflecting Java into Scheme. In: Cointe, P. (eds) Meta-Level Architectures and Reflection. Reflection 1999. Lecture Notes in Computer Science, vol 1616. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48443-4_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-48443-4_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66280-8

  • Online ISBN: 978-3-540-48443-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics