Join Java is creating a superset of the Java language which is built on a process algebra, the join calculus. It provides the following features that are either absent or poorly supported in Java: * Asynchronous calls * Message passing * A real inheritance for concurrency in Object Oriented programming Separating of concurrency from synchronization using abstraction Rigorous linkage with formal methods including join calculus, Petri nets and statecharts
Category Archives: JVM Language
Janino
Janino is a compiler that reads a JavaTM expression, block, class body, source file or a set of source files, and generates JavaTM bytecode that is loaded and executed directly.
Polyglot
Polyglot is a highly extensible compiler front end for the Java programming language. It is implemented as a Java class framework using design patterns to promote extensibility. Using Polyglot, language extensions can be implemented without duplicating code from the framework itself. Polyglot has been used to implement domain-specific languages, to explore language design ideas, to simplify Java for pedagogical purposes, and for various code transformations such as optimization and fault injection.
ObjectTeams
ObjectTeams is a light extension to Java that provides support for advanced modularization. Role based programming provides the means to separate concerns, while features of aspect orientation provide a powerful adaptation/extension facility. An OpenSource, Eclipse-based IDE (currently based on Eclipse 3.2) supports designing, editing, refactoring, compiling, executing and debugging. Object Teams programs run on a standard Java VM.
J&
J& (pronounced “jet”) is an extension of Java that increases code extensibility and reuse using nested inheritance. Nested inheritance supports inheritance of packages and classes while allowing classes nested within to be overridden.
Vorpal
The Vorpal language proposes a natural evolution of the basic Object-Oriented paradigm revisiting the duality data/knowledges with a new approach based on both Class-Oriented and Pattern-Oriented approaches in the same language.
Saffron
Saffron is an extension to Java to incorporate SQL-like relational expressions. It features a pre-processor, a query optimizer, and a runtime library.
language M
While adopting Java syntax, and a lot of its infrastructure, the language M fundamentally supports distributed, secure, persistent, capability-based computing, as necessary to support the notion of a world-wide collection of distributed virtual worlds
Whiteoak
The Whiteoak programming language is a Java 6 extension that supports: structural subtyping (structural conformance), virtual fields and constructors, mixin-like/trait-like composition of objects and more.
JastAdd
JastAdd is an open source Java-based compiler compiler system. It is designed to support high-level extensible implementation of compilers and related tools like analyzers, transformation tools, etc. The JastAdd Extensible Java Compiler provides both a proof-of-concept that JastAdd can be used for large substantial projects, lika a complete Java compiler. It also illustrates extensibility and modularity in showing how different tools and language extensions can be implemented as extensions to other components..