The Dyvil programming language
Dyvil is a multi-paradigm, general purpose programming language that is based on Java and the JVM. It is a compiled, statically and strongly typed language that supports object-oriented, functional and imperative programming styles. The language features many high-level constructs as well as an extensible and expressive syntax, making it highly useful for both rapid and safe prototyping, and the creation of domain-specific languages.
In addition to the Dyvil-to-JVM-Bytecode compiler, the toolchain consists of an executable REPL, a full-fledged standard library which includes an extensive collection framework, the Dyvil Property Format library and specification, and the GenSrc source code generation and text template specialization tool. Information on all components can be found in the Language Reference.
As a new programming language in active development, the main goals of the Dyvil project are the following:
- to enhance Java with modern programming language elements
- to avoid common boilerplate code
- to give programmers full control over the syntax and semantics of their code
- to be fully compatible and inter-operable with Java and other JVM languages like Scala or Groovy
Because the syntax and semantics of the language are still highly experimental and subject to change in upcoming releases, it is not recommended to use Dyvil in any kind of production environment. Feature or change requests in the form of GitHub Issues or Pull Requests are welcome and encouraged.
How to try out Dyvil
dyvil-vX.Y.Z.jarfile from a Release.
Run it with
$ java -jar dyvil-vX.Y.Z.jar
Start typing declarations and commands.
See the REPL Reference for more details.
- Download the
dyvil-vX.Y.Z.jarfiles from a Release.
- Visit the Compiler Reference to find out how to use compiler command line arguments and configurations.
- Run it with
$ java -cp dyvil-vX.Y.Z dyvil.tools.compiler.Main <args...>
- The generated class files should now be in the specified output directory.