Bosque (programming language)

Programming language

Bosque

Paradigm| Multi-paradigm: functional, typed language
Designed by| Mark Marron
Developer| Microsoft
First appeared| March 3, 2019; 6 years ago (2019-03-03)[1]
License| MIT License
Filename extensions| .bsq[2]
Website| www.microsoft.com/en-us/research/project/bosque-programming-language/
Influenced by
JavaScript, TypeScript, ML

Bosque is a free and open-source programming language designed & developed by Microsoft that was inspired by the syntax and types of TypeScript and the semantics of ML and Node/JavaScript.[3][4] Design goals for the language include better software quality and improved developer productivity.[5][6]

## Overview

[edit]

Bosque was designed by Microsoft Research computer scientist Mark Marron,[7] who describes the language as an effort to move beyond the structured programming model that became popular in the 1970s.[3][8]

The structured programming paradigm, in which flow control is managed with loops, conditionals, and subroutines, became popular after a 1968 paper titled "Go To Statement Considered Harmful" by computer scientist Edsger Dijkstra. Marron believes we can do better by getting rid of sources of complexity like loops, mutable state, and reference equality. The result is Bosque, which represents a programming paradigm that Marron, in a paper he wrote, calls "regularized programming."

The Bosque specification, parser, type checker, reference interpreter, and IDE support are licensed under MIT License and available on GitHub.[9]

## Examples

[edit]

### Add two numbers

[edit]

function add2(x: Int, y: Int): Int {
return x + y;

add2(2, 3)     // 5
add2(x=2, y=3) // 5
add2(y=2, 5)   // 7

## See also

[edit]

* Free and open-source software portal

* Dafny
* F* (programming language)
* Free software movement

## References

[edit]

1. ^ "BosqueLanguage". Microsoft. March 3, 2019. Retrieved April 29, 2019.
2. ^ Using Bosque - Bosque Programming Language [dead link‍]
3. ^ a b Microsoft debuts Bosque – a new programming language with no loops, inspired by TypeScript
4. ^ Bosque is Microsoft's new open source, TypeScript-inspired programming language
5. ^ Microsoft aims for simplicity with Bosque programming language
6. ^ Microsoft’s New Programming Language ‘Bosque’ Keeps Your Code Simple
7. ^ Microsoft’s Bosque Language Wants to Change Programming Forever
8. ^ Microsoft Introduces Bosque, a Programming Language for Writing Easy-to-Reason-about Code
9. ^ "Bosque Programming Language". GitHub. May 7, 2022.

## Further reading

[edit]

* Mark Marron (2019). "Regularized Programming with the BOSQUE Language" (PDF). Microsoft Research.
* Kaczmarek, Sebastian; Ibaceta, Joel (2021). Learn Bosque Programming: Discover the world's first regularized programming language. Packt Publishing. ISBN 978-1839211973.

## External links

[edit]

* Bosque Programming Language - Microsoft Research
* GitHub - microsoft/BosqueLanguage: The Bosque programming language is an experiment in regularized design for a machine assisted rapid and reliable software development lifecycle.

* v
* t
* e

Programming languages

* Comparison
* Timeline
* History

* Ada
* ALGOL
* Simula
* APL
* Assembly
* BASIC
* Visual Basic
* classic
* .NET
* C
* C++
* C#
* COBOL
* Erlang
* Elixir
* Forth
* Fortran
* Go
* Haskell
* Java
* JavaScript
* TypeScript
* Julia
* Kotlin
* Lisp
* Lua
* MATLAB
* ML
* Caml
* OCaml
* Pascal
* Object Pascal
* Perl
* Raku
* PHP
* Prolog
* Python
* R
* Ruby
* Rust
* SAS
* SQL
* Scratch
* Shell
* Smalltalk
* Swift
* more...

* Lists: Alphabetical
* Categorical
* Generational
* Non-English-based
* Category

* v
* t
* e

Microsoft free and open-source software (FOSS)

Overview|

* Microsoft and open source
* Shared Source Initiative

Software|

| Applications|

* 3D Movie Maker
* Atom
* Conference XP
* Family.Show
* File Manager
* Open Live Writer
* Microsoft PowerToys
* Terminal
* Windows Calculator
* Windows Console
* Windows Package Manager
* WorldWide Telescope
* XML Notepad

|

Video games|

* Allegiance

Programming
languages|

* Bosque
* C#
* Dafny
* F#
* F*
* GW-BASIC
* IronPython
* IronRuby
* Lean
* P
* Power Fx
* PowerShell
* Project Verona
* Q#
* Small Basic Online
* TypeScript
* Visual Basic

Frameworks,
development tools|

* .NET
* .NET Framework
* .NET Gadgeteer
* .NET MAUI
* .NET Micro Framework
* AirSim
* ASP.NET
* ASP.NET AJAX
* ASP.NET Core
* ASP.NET MVC
* ASP.NET Razor
* ASP.NET Web Forms
* Avalonia
* Babylon.js
* BitFunnel
* Blazor
* C++/WinRT
* CCF
* ChakraCore
* CLR Profiler
* Dapr
* DeepSpeed
* DiskSpd
* Dryad
* Dynamic Language Runtime
* eBPF on Windows
* Electron
* Entity Framework
* Fluent Design System
* Fluid Framework
* Infer.NET
* LightGBM
* Managed Extensibility Framework
* Microsoft Automatic Graph Layout
* Microsoft C++ Standard Library
* Microsoft Cognitive Toolkit
* Microsoft Design Language
* Microsoft Detours
* Microsoft Enterprise Library
* Microsoft SEAL
* mimalloc
* Mixed Reality Toolkit
* ML.NET
* mod_mono
* Mono
* MonoDevelop
* MSBuild
* MsQuic
* Neural Network Intelligence
* npm
* NuGet
* OneFuzz
* Open Management Infrastructure
* Open Neural Network Exchange
* Open Service Mesh
* Open XML SDK
* Orleans
* Playwright
* ProcDump
* ProcMon
* Python Tools for Visual Studio
* R Tools for Visual Studio
* RecursiveExtractor
* Roslyn
* Sandcastle
* SignalR
* StyleCop
* SVNBridge
* T2 Temporal Prover
* Text Template Transformation Toolkit
* TLA+ Toolbox
* U-Prove
* vcpkg
* Virtual File System for Git
* Voldemort
* VoTT
* Vowpal Wabbit
* Windows App SDK
* Windows Communication Foundation
* Windows Driver Frameworks
* KMDF
* UMDF
* Windows Forms
* Windows Presentation Foundation
* Windows Template Library
* Windows UI Library
* WinJS
* WinObjC
* WiX
* XDP for Windows
* XSP
* xUnit.net
* Z3 Theorem Prover

Operating systems|

* MS-DOS (v1.25, v2.0 & v4.0)
* Barrelfish
* SONiC
* Azure Linux

Other|

* ChronoZoom
* Extensible Storage Engine
* FlexWiki
* FourQ
* Gollum
* Project Mu
* ReactiveX
* SILK
* TLAPS
* TPM 2.0 Reference Implementation
* WikiBhasha

Licenses|

* Microsoft Public License
* Microsoft Reciprocal License

Forges|

* CodePlex
* GitHub

Related|

* .NET Foundation
* F# Software Foundation
* Microsoft Open Specification Promise
* Open Letter to Hobbyists
* Open Source Security Foundation
* Outercurve Foundation

Category

* v
* t
* e

Microsoft development tools

Development
environments|

| Visual Studio|

* Code
* Express
* Team System Profiler
* Tools for Applications
* Tools for Office

|

Others|

* Blend
* Expression Web
* FxCop
* GW-BASIC
* MACRO-80
* Macro Assembler
* MSBuild
* Pascal
* QuickBASIC
* QBasic
* QuickC
* Robotics Developer Studio
* Roslyn
* SharePoint Designer
* FrontPage
* Small Basic
* WebMatrix
* Windows App SDK
* Windows App Studio
* Windows SDK
* CLR Profiler
* ILAsm
* Native Image Generator
* WinDiff
* XAMLPad

Languages|

* Dynamics AX
* BASIC
* Visual Basic
* legacy
* VB.NET
* VBA
* VBScript
* Bosque
* Visual C++
* C++/CX
* C++/CLI
* Managed C++
* C++/WinRT
* C#
* C/AL
* Dafny
* Dexterity
* F#
* F*
* Visual FoxPro
* Java
* J++
* J#
* JavaScript
* TypeScript
* JScript
* IronPython
* IronRuby
* Lean
* P
* Power Fx
* PowerShell
* Project Verona
* Q#
* Small Basic
* VPL
* XAML

APIs and
frameworks|

| Native|

* Windows API
* Silverlight
* XNA
* DirectX
* Managed DirectX
* UWP
* Xbox Development Kit
* Windows Installer
* WinUI

|

.NET|

* ASP.NET
* Core
* AJAX
* Dynamic Data
* MVC
* Razor
* Web Forms
* ADO.NET
* Entity Framework
* MAUI
* CardSpace
* Communication Foundation
* Identity Foundation
* LINQ
* Presentation Foundation
* Workflow Foundation

Device drivers|

* WDK
* WDF
* KMDF
* UMDF
* Windows HLK
* WDM

Database|

| SQL Server|

* Express
* Compact
* Management Studio
* MSDE

|

SQL services|

* Analysis
* Reporting
* Integration
* Notification

Other|

* Visual FoxPro
* Microsoft Access
* Access Database Engine
* Extensible Storage Engine

Source control|

* Visual SourceSafe
* Team Foundation Version Control

Testing and
debugging|

* CodeView
* OneFuzz
* Playwright
* Script Debugger
* WinDbg
* xUnit.net

Delivery|

* Active Setup
* ClickOnce
* npm
* NuGet
* vcpkg
* Web Platform Installer
* Windows Installer
* WiX
* Windows Package Manager
* Microsoft Store

Category

* v
* t
* e

Microsoft Research (MSR)

Main
projects|

| Languages, compilers|

* Bartok
* Bosque
* Cω
* F*
* Lean
* P
* Project Verona
* Phoenix
* Polyphonic C#
* SecPAL

|

Distributed–grid computing|

* BitVault
* Confidential Consortium Framework
* DeepSpeed
* Orleans

Internet, networking|

* AjaxView
* Avalanche
* Conference XP
* Gazelle
* HoneyMonkey
* Penny Black
* Wallop
* WikiBhasha

Other projects|

* Automatic Graph Layout
* Cognitive Toolkit
* Digits
* Holoportation
* IllumiRoom
* Image Composite Editor
* Infer.NET
* LightGBM
* LiveStation
* MyLifeBits
* Neural Network Intelligence
* NodeXL
* OneFuzz
* PhotoDNA
* SEAL
* SLAM
* T2 Temporal Prover
* WorldWide Telescope
* Z3 Theorem Prover

Operating systems|

* Barrelfish
* HomeOS
* Midori
* Singularity
* Verve

APIs|

* Accelerator
* Dryad
* Joins
* mimalloc

Launched as products|

* C#
* Comic Chat
* Detours
* F#
* Sideshow
* PixelSense (TouchLight)
* SenseCam
* ClearType
* Group Shot
* Allegiance
* TrueSkill
* Songsmith
* Xbox
* Kinect

MSR Labs
applied
research|

| Live Labs|

| Current|

* Pivot
* Seadragon
* Deep Zoom

|

Discontinued|

* Deepfish
* Listas
* Live Clipboard
* Photosynth

FUSE Labs|

* Docs.com
* Kodu

Other labs|

* Academic Search
* adCenter Labs
* Office Labs

Category

This programming-language-related article is a stub. You can help Wikipedia by expanding it.

|

* v
* t
* e

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template