Ceylon is a general-purpose, imperative, statically-typed, block-structured, object-oriented, higher-order language featuring a syntax similar to Java and C#, and a type system based on the notion of principal types. It claims to be a programming language for writing large programs in a team environment, being highly readable, typesafe, and easy to learn for programmers who are familiar with mainstream languages used in business computing. Ceylon has a full-featured Eclipse-based development environment, allowing developers to take best advantage of the powerful static type system. Programs written in Ceylon execute on any JVM.
Category Archives: JVM Language
Kotlin
Kotlin is a statically-typed JVM-targeted programming language intended for industrial use.
fun4j
fun4j is a framework that integrates major concepts from functional programming into the Java Platform. It also provides seamless integration of Java with Lisp coding, by using a lisp-to-bytecode compiler.
Javascal
A free compiler that translates a subset of Pascal ISO7185 into bytecode for the JVM.
Virgil
The Virgil Programming Language is designed for building robust, flexible, and scalable software systems on embedded hardware platforms. Virgil builds on ideas from object-oriented, statically typed languages like Java, providing a clean, consistent source language. Its compiler system provides an efficient implementation for resource-constrained environments.
Meta Programming System MPS
The major goal of MPS is to allow extending languages to generate domain specific languages. MPS originally includes a ready-to-use universal language called BaseLanguage, which can itself be used to create programs. However, the right way to use MPS is to extend BaseLanguage and create new languages. MPS comes with several helpful extensions to BaseLanguage for working with strings, collections, dates, regular expressions, etc. In creating a language, you define the rules for code editing and rendering. You can also specify the language type-system and constraints. This allows MPS to verify program code on the fly, and thus makes programming with the new language easy and less error-prone. You can also define generators for their language to transform code in the custom language to compilable code in some conventional language. Currently, MPS is particularly good for, but is not limited to, generating Java code. You can also generate XML, HTML, JavaScript, and more.
MoonScript
MoonScript is a dynamic scripting language that compiles into Lua. MoonScript provides a clean syntax using significant whitespace that avoids all the keyword noise typically seen in a Lua script. It also adds table comprehensions, implicit return on functions, classes, inheritance, scope management statements import & export, and a convenient object creation statement called with.
Simple Declarative Language
The Simple Declarative Language provides an easy way to describe lists, maps, and trees of typed data in a compact, easy to read representation. The simple and intuitive API allows you to read, write, and access all the datastructures using a single class. For property files, configuration files, logs, and simple serialization requirements, SDL provides a compelling alternative to XML and Properties files. Implementations are available for Java and .NET.
Frink
Frink is a practical calculating tool and programming language designed to make physical calculations simple. It tracks units of measure (feet, meters, kilograms, watts, etc.) through all calculations, allowing you to mix units of measure transparently.
redline Smalltalk
Redline Smalltalk is an implementation of the Smalltalk programming language for the Java Virtual Machine. You will be able to call Smalltalk from Java and Java from Smalltalk. The bytecode generation layer will be decoupled so another generator for another target could be “plugged” in if the JVM isn’t for you.