Language Tour

In this language tour, we go over the essential parts of the language. We expect the reader to already be comfortable with other programming languages and thus will not explain any common features also found in other languages. The Syntax is heavily inspired by the Scala language. So users familiar with Scala should have no problems getting started.

Each section will be example-driven and the explanations will mostly focus on the usage of Effekt and its syntax rather than semantics. Only in those section with concepts presenting a departure from well-known concepts, such as lexical effect, regions and captures, more in-depth explanation will be offered.

You will find examples in each section and we invite you to make your own changes to get to know the language. Each change will be available in the following code blocks and you can arbitrary expression in code block starting with an > in a REPL-like environment.

println("Effekt!")

Disclaimer

Since Effekt is a research language, everything is subject to change and it may happen that documentation found here does not reflect the current state of the language. We will try to keep it up-to-date, though.

Feedback

In case you have any feedback regarding the documentation, feel free to open an issue on Github.