Gren 0.1.0 is released

Published: 2022-05-30

Gren is a pure functional programmming language that aims to be easy-to-learn and easy to reason about, while remaining powerful and portable enough for real-world use.

Today marks the first release of Gren, a programming language that helps you write simple and correct software.

Gren aims to be a small language that is easy to learn, and easy to understand. It wants to help you write correct software by being your assistant, pointing out likely mistakes as you write code. Finally, it tries to be available wherever you need it to be, so that you can use it to write CLI tools, backend- or even frontend applications.

There already exist a language that is close to matching this description: Elm. What Elm lacks is better support for Web API's, and official support for running outside the browser.

While we could spend considerable time and effort in creating a language which would look very similar to Elm, we've instead decided to fork the compiler and core packages, and use that as the basis of Gren.

Differences from Elm

If you already know Elm, then you also know Gren. Even the core packages are similar. That said, there are some differences:

If you have no experience with Elm, you can read more about the language in our official guide. If you'd like to try it out, you can find instructions on getting started here.

Version 0.1.0 is considered to be an alpha release. While you can write production quality software with it today, there are likely bugs in the compiler and core packages, and breaking changes are planned for the next release.

If you like what you see, consider joining the community. We can use all the help we can get.

Looking forward

Gren follows a six-month release cadence. The next release will be v0.2.0 and be made available in December.

The plan is to add support for more Web API's and basic support for applications running on the NodeJS runtime. In addition, the package manager will become more efficient and reliable.

Thank you, contributors

This release of Gren was made possible by people who've written new code, ported packages from Elm and provided valuable feedback on Zulip. Those people are, in alphabetic order:

Thank you!