A programming language for simple and correct applications
Gren is a functional programming language with carefully managed side-effects and a strong static type system. The language consists of a few concepts with human readable names that compose well together, so you can do more with less.
Programs written in Gren are simple, have few or no runtime exceptions and are fun to work with.
Compiler as an assistant
Since side effects and error handling is represented in Gren's type system, the compiler can catch a lot of errors which are usually only discovered when the program is running in other languages.
In Gren, a lot of time has been invested in how error messages are presented to you, so that the compiler feels more like a helpful assistant.