Bosque is a free and open source programming language developed by Microsoft. It is derived from the syntax and types of TypeScript and the semantics of ML and Node/JavaScript languages. Users with a JavaScript background will find Bosque familiar. It is designed for writing code that is simple, obvious, and easy to read for both humans and machines. Bosque is focused on the implications of:
Designing a bytecode that enables deep, automated code reasoning and the deployment of development tools, compilers, and runtime systems.
Using the power of the bytecode to provide an easily accessible programming language for modern developers. It also provides a rich set of language features for developing reliable and high-performing applications.
Making cloud development the priority to address the challenges that come with the adoption of the distributed cloud development model.
Bosque supports a simple and non-opinionated type system that allows developers to use a range of structural, nominal, and combination types to convey intent and encode features of the problem domain.
Bosque programming language features
Notable features of Bosque include:
Immutable
All values in the Bosque language are immutable, meaning the state cannot be modified after it is created. This is popular with many functional languages and improves readability and runtime efficiency.
Typed strings
Typed strings provide known structure about the content of a string in the type in a way that’s useful to humans. Bosque features two types of typed strings, SafeString
SafeString
StringOf
Bulk algebraic operations
This feature supports bulk reads and updates to data values. With bulk operations, updates can be performed as an atomic operation without manually extracting and copying fields.
Errors and checks
Bosque aims to simplify the process of building reliable software. The language provides support for errors and checks. It also expresses a range of invariants, sanity checks, and diagnostic assertions.