Bosque (programming language)

Short description: Programming language

Bosque

Paradigm| Multi-paradigm: functional, typed language
Designed by| Mark Marron
Developer| Microsoft
First appeared| March 3, 2019; 7 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]

## Contents

* 1 Overview
* 2 Examples
* 2.1 Add two numbers
* 3 See also
* 4 References
* 5 Further reading
* 6 External links

## Overview

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

### Add two numbers

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

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

## References

1. ↑ "BosqueLanguage". Microsoft. March 3, 2019. https://github.com/Microsoft/BosqueLanguage.
2. ↑ Using Bosque - Bosque Programming Language [|permanent dead link|dead link}}]
3. ↑ 3.0 3.1 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". May 7, 2022. https://github.com/Microsoft/BosqueLanguage.

## Further reading

* Mark Marron (2019). "Regularized Programming with the BOSQUE Language". Microsoft Research. https://www.microsoft.com/en-us/research/uploads/prod/2019/04/beyond_structured_report_v2.pdf.
* Learn Bosque Programming: Discover the world's first regularized programming language.. Packt Publishing. 2021. ISBN 978-1839211973.

## External links

* 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

* APL
* Assembly
* BASIC
* C
* C++
* C#
* COBOL
* Elixir
* Fortran
* Go
* Groovy
* Haskell
* Java
* JavaScript (JS)
* Julia
* Kotlin
* Lisp
* Lua
* MATLAB
* Objective-C
* OCaml
* Pascal
* Perl
* PHP
* Python
* R
* Ruby
* Rust
* Scala
* Shell
* Smalltalk
* Swift
* TypeScript
* Visual Basic .NET (VB.NET)
* more...

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

* v
* t
* e

Microsoft free and open-source software (FOSS)

Overview|

* Microsoft and open source
* Shared Source Initiative

Software|

| Applications|

* Atom
* Conference XP
* File Manager
* Open Live Writer
* PowerToys for Windows 10
* Windows Calculator
* Windows Console
* Windows Terminal
* WorldWide Telescope
* XML Notepad

|

Video games|

* Allegiance

Programming languages|

* Bosque
* C#
* Dafny
* F#
* F*
* IronPython
* IronRuby
* P
* PowerShell
* Q#
* R Open
* Small Basic
* TypeScript
* Visual Basic .NET

Frameworks and
development tools|

* .NET Bio
* .NET Core
* .NET Framework
* .NET Micro Framework
* AirSim
* ASP.NET
* ASP.NET AJAX
* ASP.NET Core
* ASP.NET MVC
* ASP.NET Razor
* ASP.NET Web Forms
* Blazor
* C++/WinRT
* ChakraCore
* CLR Profiler
* DiskSpd
* Dryad
* Electron
* Entity Framework
* Managed Extensibility Framework
* Microsoft Automatic Graph Layout
* Microsoft Cognitive Toolkit
* Microsoft Detours
* ML.NET
* Mono
* MonoDevelop
* MSBuild
* NuGet
* Open Management Infrastructure
* Orleans
* ProcDump
* R Tools for Visual Studio
* Roslyn
* Sandcastle
* SignalR
* StyleCop
* SVNBridge
* T2 Temporal Prover
* Text Template Transformation Toolkit
* vcpkg
* Virtual File System for Git
* Visual Studio Code
* Windows Communication Foundation
* Windows Driver Frameworks
* Windows Forms
* Windows Presentation Foundation
* Windows Template Library
* WinJS
* WiX
* Z3 Theorem Prover

Operating systems|

* MS-DOS
* Barrelfish

Licenses|

* Microsoft Public License
* Microsoft Reciprocal License

Related|

* .NET Foundation
* F Sharp Software Foundation
* Microsoft Open Specification Promise
* Outercurve Foundation

Category

* v
* t
* e

Microsoft development tools

Development
environments|

| Visual Studio|

* Code
* Azure DevOps
* Express
* Team System Profiler
* Test Professional
* Tools for Applications
* Tools for Office

|

Others|

* .NET Compiler Platform
* App Studio
* Blend
* Expression Web
* GW-BASIC
* Microsoft Pascal
* MSBuild
* Robotics Developer Studio
* SharePoint Designer
* FrontPage
* PowerShell ISE
* QuickBASIC
* QBasic
* QuickC
* Small Basic
* WebMatrix
* Windows SDK
* CLR Profiler
* ILAsm
* Native Image Generator
* XAMLPad

Languages|

* Microsoft Basic
* Visual Basic
* Visual Basic .NET
* Visual C++
* C++/CX
* C++/CLI
* Managed C++
* C#
* Dafny
* F#
* F*
* J#
* J++
* Visual FoxPro
* IronPython
* IronRuby
* JScript
* PowerShell
* Q#
* Small Basic
* TypeScript
* VBA
* VBScript
* XAML

Major APIs and
frameworks
(see all)|

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

.NET Framework|

* ASP.NET
* Core
* AJAX
* Dynamic Data
* MVC
* Razor
* Web Forms
* ADO.NET
* Entity Framework
* 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
* Business Intelligence Development Studio
* MSDE

|

SQL services|

* Analysis
* Reporting
* Integration
* Notification

Other|

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

Source control|

* Visual SourceSafe
* Team Foundation Version Control

Delivery|

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

* v
* t
* e

Microsoft Research (MSR)

Main
projects|

| Languages and compilers|

* Polyphonic C#
* Cω
* Spec#
* Sing#
* Bartok
* F*
* Phoenix

|

Distributed/grid computing|

* Bigtop
* Gridline
* BitVault
* Orleans

Internet and networking|

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

Other projects|

* Cognitive Toolkit
* IllumiRoom
* Image Composite Editor
* MyLifeBits
* LiveStation
* SLAM
* Terminator
* WorldWide Telescope
* PhotoDNA
* Z3 Theorem Prover

Operating systems|

* Barrelfish
* HomeOS
* Midori
* Singularity
* Verve

APIs|

* Joins
* Accelerator
* Dryad
* SXM

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
* DeepZoomPix

|

Discontinued|

* Deepfish
* Listas
* Live Clipboard
* Photosynth
* Volta

FUSE Labs|

* Bing Twitter
* Docs.com
* Kodu

Other labs|

* Academic Search
* adCenter Labs
* Office Labs

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Bosque_(programming_language)&oldid=285402"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template