> For the complete documentation index, see [llms.txt](https://dyvil.gitbook.io/dyvil-language-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dyvil.gitbook.io/dyvil-language-reference/readme.md).

# Introduction

**Dyvil** is a multi-paradigm, general purpose programming language that is based on Java and the JVM. It is compiled, statically and strongly typed and supports object-oriented, functional and imperative programming styles. The modern and extensible syntax is based on Swift, Kotlin and Scala.

As a new programming language in active development, the main goals of the Dyvil project are the following:

* to provide modern syntax and semantics
* to avoid common boilerplate code
* to achieve performance comparable to Java programs
* to be fully compatible and interoperable with Java and other JVM languages like Scala, Kotlin or Groovy

In addition to the **Dyvil-to-JVM-Bytecode compiler**, the toolchain consists of an executable **REPL**, a full-fledged **standard library** including 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 as well as the language itself can be found in this language reference.
