Jump to content

Стандартный ML Нью-Джерси

Стандартный ML Нью-Джерси
Парадигмы Мультипарадигмальность : функциональная , императивная.
Семья ML : Стандартный ML
Разработчики Лаборатории Белла ,
Принстонский университет
Люсент Технологии,
Йельский университет (проект FLINT),
Исследования AT&T [1]
Впервые появился 1988 год ; 36 лет назад ( 1988 )
Стабильная версия
110.99.4  Отредактируйте это в Викиданных / 1 августа 2023 г .; 11 месяцев назад ( 1 августа 2023 г. )
Дисциплина набора текста сильный , статичный , предполагаемый
Язык реализации Стандартный МЛ , С
Лицензия BSD-подобный [2]
Расширения имен файлов .sml
Веб-сайт www .smlnj .org
Под влиянием
Стандартный ML
Под влиянием
Мифрил

Standard ML of New Jersey ( SML/NJ ; Standard Meta-Language of New Jersey) — компилятор и интегрированная среда разработки для языка программирования Standard ML . Он написан на Standard ML, за исключением системы времени выполнения на C. языке Первоначально он был разработан совместно Bell Laboratories и Принстонским университетом . [1] Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное по разрешительной лицензии на программное обеспечение (подобно BSD).

Его название является отсылкой как к американскому штату Нью-Джерси, в котором расположены Принстон и лаборатории Белла, так и к Standard Oil of New Jersey , знаменитой нефтяной монополии начала 20 века.

SML/NJ расширяет базовую библиотеку SML'97 несколькими добавленными структурами верхнего уровня: [3]

  • Информация о системе SysInfo Структура предоставляет информацию о системе выполнения, такую ​​как тип, тип и версия операционной системы , а также о том, поддерживает ли машина многопроцессорную обработку . [4]
  • Слабые указатели Weak Структура обеспечивает поддержку слабых указателей . [5]
  • Ленивые подвески Susp структура реализует приостановки, необходимые для ленивых вычислений (в отличие от нетерпеливых вычислений ). [6]
  • компилятора Внутреннее устройство Internals Структура обеспечивает доступ к некоторым внутренним компонентам компилятора, включая методы для создания экземпляров и изменения таблицы сигналов. [7]
  • Небезопасный доступ Unsafe структура обеспечивает небезопасный доступ к структурам данных и функциям системы времени выполнения. [8]
  • Видимые структуры компилятора . SML/NJ также включает структуры, обеспечивающие доступ к компилятору ML, который содержит подструктуры для профилирования выполнения, управления печатью сообщений об ошибках компилятора и предупреждений, а также настраиваемой красивой печати. [9]

Кроме того, SML/NJ предоставляет некоторые синтаксические конструкции, которые не являются стандартными функциями SML'97: [3]

  • Векторные выражения и шаблоны – SML/NJ позволяет создавать векторы с #[exp0, exp1, ..., expn−1] синтаксис и позволяет сопоставлять их с образцом с помощью аналогичного синтаксиса.
  • Шаблоны «или» — SML/NJ расширяет синтаксис шаблонов SML'97, позволяя сопоставлять несколько шаблонов в одном правиле, при условии, что каждый шаблон имеет один и тот же тип, используя (apat1 | ... | apatn) => exp .
  • Встраивание объектного языка . SML/NJ предоставляет синтаксис кавычек/антикавычек, который позволяет встраивать выражения в конкретный синтаксис объектного языка в выражения и программы ML. [10]
  • Модули более высокого порядка — SML/NJ поддерживает параметризацию функторов, позволяя функторам быть компонентами структур в дополнение к параметрическим модулям Standard ML в форме функторов.

Разработка

[ редактировать ]

Преемник ML — это термин, используемый для описания следующей версии языка. Документы, описывающие его, были извлечены из файлов SML/NJ '97 и доступны в виде GitHub репозитория документов TeX , с которым сообщество, как ожидается, будет сотрудничать и развивать язык. [11] Функции преемника ML можно включить с помощью параметра командной строки. -Cparser.succ-ml=true. [12]

По крайней мере, с 1998 г. [13] МЛтон [14] является стандартным компилятором начальной загрузки и включает в себя некоторые [15] поддержка Преемника ML.

В 2008 году началась работа над HaMLet , [16] эталонная реализация Successor ML, полностью написанная на Standard ML. [17] По состоянию на 2018 год HaMLet остается единственной полной реализацией Successor ML с добавленными новыми функциями. [15]

С 2015 года [18] эволюция SML/NJ, направленная на развитие библиотеки Basis [19] и добавление поддержки определения преемника ML с выпуском версии 110.79. [12]

В конце 2020 года 64-битной версии . с выпуском версии 110.99 была добавлена ​​поддержка [18]

См. также

[ редактировать ]
[ редактировать ]
  1. ^ Jump up to: а б «Справочная информация SML/NJ» . Smlnj.org . Проверено 5 сентября 2018 г.
  2. ^ «Стандартная лицензия ML Нью-Джерси» . www.smlnj.org .
  3. ^ Jump up to: а б «Особые возможности SML/NJ» . www.smlnj.org . Проверено 5 сентября 2018 г.
  4. ^ «Подпись SYS_INFO» . www.smlnj.org . Проверено 5 сентября 2018 г.
  5. ^ «СЛАБАЯ подпись» . www.smlnj.org . Проверено 5 сентября 2018 г.
  6. ^ «Подпись СУСП» . www.smlnj.org . Проверено 5 сентября 2018 г.
  7. ^ «Внутренняя подпись» . www.smlnj.org . Проверено 5 сентября 2018 г.
  8. ^ «Небезопасная конструкция» . www.smlnj.org . Проверено 5 сентября 2018 г.
  9. ^ «Видимый компилятор» . www.smlnj.org . Проверено 5 сентября 2018 г.
  10. ^ «Цитата/антицитата SML/Нью-Джерси» . www.smlnj.org . Проверено 5 сентября 2018 г.
  11. ^ «Определение преемника ML» . Гитхаб .
  12. ^ Jump up to: а б «Стандартный ML Нью-Джерси версии 110.79 Новости» . 04.10.2015.
  13. ^ «MLton 19 марта 1999 г., изменения примечаний» . Гитхаб .
  14. ^ «Репозиторий MLton» . Гитхаб .
  15. ^ Jump up to: а б «Три попытки внедрения для поддержки преемника ML» . Гитхаб .
  16. ^ Россберг, Андреас. «HaMLet S: Стать или не стать преемником ML» (PDF) .
  17. ^ «Справочный интерпретатор SML» . Гитхаб .
  18. ^ Jump up to: а б «Стандартный журнал изменений ML штата Нью-Джерси для версии 110.99» .
  19. ^ «Стандартная базовая библиотека машинного обучения» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c40bb76f21b111d3f4f776c23b4377d3__1715682840
URL1:https://arc.ask3.ru/arc/aa/c4/d3/c40bb76f21b111d3f4f776c23b4377d3.html
Заголовок, (Title) документа по адресу, URL1:
Standard ML of New Jersey - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)