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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
http://www-swiss.ai.mit.edu/~jaffer/SLIB.html
Aubrey Jaffer, r4rstest.scm, ftp://ftp-swiss.ai.mit.edu/pub/scm/r4rstest.scm.
Gregor Kiczales, Tiny CLOS, file://parcftp.xerox.com/pub/mops/tiny/
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.
Brian Beckman, A scheme for little languages in interactive graphics, Software Practice and Experience, 21,2, p. 187–208, Feb, 1991.
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.
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.
Mike Travers, Skij, IBM alphaWorks archive, http://www.alphaworks.ibm.com/formula/Skij
Christian Queinnec, JaJa: Scheme in Java, http://wwwspi.lip6.fr/~queinnec/WWW/Jaja.html
Per Bothner, Kawa the Java-based Scheme System, http://www.cygnus.com/~bothner/kawa.html
http://www-spi.lip6.fr/~queinnec/Papers/dispatch.ps.gz
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.
E. Amiel, O. Gruber, and E. Simon, Optimmizing multi-method dispatch using compressed dispatch tables. In OOPSLA’ 94, October 1994.
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.
Weimin Chen and Volker Turau, Multiple-dispatching base on automata, Theory and Practice of Object Systems, 1(1):41–60, 1995.
http://kaolin.unice.fr/STk/
J.L. Bentley, More Programming Pearls, Addison-Wesley, Reading, MA, 1988.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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