A simple technique for handling multiple polymorphism
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Efficiently combining logical constraints with functions
Efficiently combining logical constraints with functions
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
Journal of Object-Oriented Programming
No assembly required: compiling standard ML to C
ACM Letters on Programming Languages and Systems (LOPLAS)
The Java Language Specification
The Java Language Specification
A Gee-based Java Implementation
COMPCON '97 Proceedings of the 42nd IEEE International Computer Conference
Compiling standard ML to Java bytecodes
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Runtime aspect weaving through metaprogramming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
A portable-approach to dynamic optimization in run-time specialization
New Generation Computing - Partial evaluation and program transformation
Just-in-time aspects: efficient dynamic weaving for Java
Proceedings of the 2nd international conference on Aspect-oriented software development
Run-Time Bytecode Specialization
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Towards a Haskell/Java Connection
IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
An On-Line Performance Visualization Technology
HCW '99 Proceedings of the Eighth Heterogeneous Computing Workshop
An on-line performance visualization technology
Software—Practice & Experience
JEmacs: the Java/scheme-based Emacs
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
GRID '06 Proceedings of the 7th IEEE/ACM International Conference on Grid Computing
Subroutine Inlining and Bytecode Abstraction to Simplify Static and Dynamic Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Selective tail call elimination
SAS'03 Proceedings of the 10th international conference on Static analysis
Evaluating trust in grid certificates
Proceedings of the 2010 ACM Symposium on Applied Computing
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
RTSS'10 Proceedings of the 21st IEEE conference on Real-time systems symposium
Workshop on Self-Sustaining Systems
SATOULOUSE: the computational power of propositional logic shown to beginners
TICTTL'11 Proceedings of the Third international congress conference on Tools for teaching logic
Electronic Notes in Theoretical Computer Science (ENTCS)
A framework for certified program analysis and its applications to mobile-code safety
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Bringing Scheme programming to the iPhone—Experience
Software—Practice & Experience
The HypeDyn hypertext fiction authoring tool
Proceedings of the 2nd workshop on Narrative and hypertext
Proceedings of the 26th annual ACM symposium on User interface software and technology
Hi-index | 0.00 |
Many are interested in Java for its portable bytecodes and extensive libraries, but prefer a different language, especially for scripting. People have implemented other languages using an interpreter (which is slow), or by translating into Java source (with poor responsiveness for eval). Kawa uses an interpreter only for "simple" expressions; all non-trivial expressions (such as function definitions) are compiled into Java bytecodes, which are emitted into an in-memory byte array. This can be saved for later, or quickly loaded using the Java ClassLoader. Kawa is intended to be a framework that supports multiple source languages. Currently, it only supports Scheme, which is a lexically-scoped language in the Lisp family. The Kawa dialect of Scheme implements almost all of the current Scheme standard (R5RS), with a number of extensions, and is written in a efficient object-oriented style. It includes the full "numeric tower", with complex numbers, exact infinite-precision rational arithmetic, and units. A number of extensions provide access to Java primitives, and some Java methods provide convenient access to Scheme. Since all Java objects are Scheme values and vice versa, this makes for a very powerful hybrid Java/Scheme environment. An implementation of ECMAScript (the standardized "core" of JavaScript) is under construction. Other languages, including Emacs Lisp, are also being considered. Kawa home page: http://www.cygnus.com/ ~bothner/kawa.html.