The Bosque Programming Language
This supports functional style programming in a block-scoped language and allows developers to write code such as:
In addition to allowing multiple assignments to variables, the Bosque language also allows developers to thread parameters via argument passing. To simplify this type of code, Bosque includes various forms of coalescing or short-circuit operators ((5.8 None-Chaining)[#5.8 None-Chaining]) to enable code like:
A fundamental concept in a programming language is the iteration construct and a critical question is should this construct be provided as high-level functors, such as filter/map/reduce, or do programmers benefit from the flexibility available with iterative, while or for, looping constructs. To reduce the amount of boilerplate code introduced by constructors, and in particular constructors that have long argument lists that are mainly passed through to super constructors, Bosque uses construction via direct field initialization to construct entity (object) values.
Source: github.com