Перейти к содержанию

Bosque

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Bosque
Класс языка

мультипарадигмальный:

функциональное, типизированный язык
Появился в 15 апреля 2019; 6 лет назад (2019-04-15)
Автор Mark Marron
Разработчик Microsoft
Испытал влияние JavaScript, TypeScript, ML
Лицензия MIT License
Сайт microsoft.com/en-us/rese…

Bosque — это свободный язык программирования с открытым исходным кодом, разработанный Microsoft. Bosque вдохновлён синтаксисом и системой типов TypeScript, а также семантикой ML и NodeJS/JavaScript[1][2]. Целью разработки языка было повышение качества программного обеспечения и повышение производительности труда разработчиков[3].

Описание

Bosque был разработан специалистом по информатике Microsoft Research Марком Марроном[4]. Автор описывает этот язык как попытку выйти за рамки модели структурного программирования, ставшей популярной в 1970-х[2][5]. Парадигма структурного программирования, в которой управление потоком выполнения осуществляется с помощью циклов, условных операторов и подпрограмм, стала популярной после публикации в 1968 году статьи компьютерного учёного Эдсгера Дейкстры «Go To Statement Considered Harmful». Маррон считает, что мы можем добиться большего, избавившись от таких источников сложности, как циклы, изменяемое состояние и ссылочное равенство. Результатом раскрытия этой идеи Маррона и является Bosque, представляющий парадигму программирования, которую Маррон в своей статье назвал «регуляризованным программированием». Спецификация Bosque, синтаксический анализатор, средство проверки типов, эталонный интерпретатор и поддержка IDE выпущены под лицензией MIT и доступны на GitHub[6].

Примеры

Сложение двух чисел

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

См. также

Литература

Ссылки

Примечания

  1. Bosque is Microsoft's new open source, TypeScript-inspired programming language (англ.). BetaNews (20 апреля 2019). Дата обращения: 28 сентября 2021. Архивировано 28 сентября 2021 года.
  2. 2,0 2,1 Thomas Claburn in San Francisco. Microsoft debuts Bosque – a new programming language with no loops, inspired by TypeScript (англ.). www.theregister.com. Дата обращения: 28 сентября 2021. Архивировано 28 сентября 2021 года.
  3. Microsoft's New Programming Language 'Bosque' Keeps Your Code Simple (англ.) ?. Fossbytes (19 апреля 2019). Дата обращения: 28 сентября 2021. Архивировано 28 сентября 2021 года.
  4. Nick Kolakowski. Microsoft’s Bosque Language Wants to Change Programming Forever (англ.). Dice Insights (23 апреля 2019). Дата обращения: 28 сентября 2021. Архивировано 28 сентября 2021 года.
  5. Microsoft Introduces Bosque, a Programming Language for Writing Easy-to-Reason-about Code (англ.). InfoQ. Дата обращения: 28 сентября 2021. Архивировано 28 сентября 2021 года.
  6. Bosque Programming Language. — 2021-09-27. Архивировано 28 сентября 2021 года.
Внутренняя ошибка — Энциклопедия Руниверсалис Перейти к содержанию

Внутренняя ошибка

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией

[86d5a2abd33b2a1850741df1] /Bosque LogicException: wfMkdirParents given storage path 'mwstore://seaweed-s3-backend/html-cache/local-cache'.

Backtrace:

from /var/www/html/www2/runi143/includes/GlobalFunctions.php(1387)
#0 /var/www/html/www2/runi143/includes/cache/FileCacheBase.php(217): wfMkdirParents()
#1 /var/www/html/www2/runi143/includes/cache/FileCacheBase.php(188): MediaWiki\Cache\FileCacheBase->checkCacheDirs()
#2 /var/www/html/www2/runi143/includes/cache/HTMLFileCache.php(205): MediaWiki\Cache\FileCacheBase->saveText()
#3 [internal function]: HTMLFileCache->saveToFileCache()
#4 /var/www/html/www2/runi143/includes/MediaWikiEntryPoint.php(1077): ob_end_flush()
#5 /var/www/html/www2/runi143/includes/MediaWikiEntryPoint.php(1221): MediaWiki\MediaWikiEntryPoint->flushOutputBuffer()
#6 /var/www/html/www2/runi143/includes/MediaWikiEntryPoint.php(481): MediaWiki\MediaWikiEntryPoint->fastCgiFinishRequest()
#7 /var/www/html/www2/runi143/includes/MediaWikiEntryPoint.php(454): MediaWiki\MediaWikiEntryPoint->doPostOutputShutdown()
#8 /var/www/html/www2/runi143/includes/MediaWikiEntryPoint.php(209): MediaWiki\MediaWikiEntryPoint->postOutputShutdown()
#9 /var/www/html/www2/runi143/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#10 {main}