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

редактировать
Standard ML of New Jersey
Paradigm Multi-paradigm : функциональный, императивный
стабильный выпуск 110.98.1 / 25 августа 2020 г.; 2 месяца назад (2020-08-25)
Дисциплина ввода сильная, статическая, предполагаемая
Лицензия BSD-подобная лицензия
Имя файла extension .sml
Веб-сайтwww.smlnj.org
Под влиянием
Standard ML
Под влиянием

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

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

Содержание

  • 1 Возможности
  • 2 Функции преемника ML
  • 3 См. Также
  • 4 Внешние ссылки
  • 5 Ссылки

Функции

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

  • Информация о системе - структура SysInfoпредоставляет информацию о системе времени выполнения, например, тип операционной системы, тип и версию, а также поддерживает ли машина многопроцессорность.
  • Слабые указатели - структура Слабыеобеспечивает поддержку слабых указателей.
  • Ленивые приостановки - Структура Suspреализует приостановки, необходимые для ленивого вычисления (в отличие от нетерпеливого вычисления ).
  • Компилятор внутренности - структура Internalsобеспечивает доступ к некоторым внутренним компонентам компилятора, включая методы для создания экземпляра и изменения таблицы сигналов.
  • Небезопасный доступ - структура Небезопаснаяобеспечивает небезопасный доступ к структурам данных и функциям системы времени выполнения.
  • Видимая структура компилятора ures - SML / NJ также включает структуры, которые обеспечивают доступ к компилятору ML, который содержит подструктуры для профилирования выполнения, управления печатью сообщений об ошибках компилятора и предупреждений, а также настраиваемой красивой печати. ​​

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

  • Векторные выражения и шаблоны - SML / NJ позволяет создавать векторы с помощью # [exp 0, exp 1,..., exp n−1]и допускает сопоставление с образцом с аналогичным синтаксисом.
  • Or-patterns - SML / NJ расширяет синтаксис шаблонов SML'97, чтобы позволить для сопоставления нескольких шаблонов в одном правиле при условии, что каждый шаблон имеет один и тот же тип, используя (apat 1 |... | apat n) =>exp.
  • Встраивание объектного языка - SML / NJ предоставляет синтаксис кавычек / антицитатов, который позволяет встраивать выражения в конкретный объектный язык синтаксис в выражениях и программах ML.
  • Модули высшего порядка - SML / NJ поддерживает параметризацию функторов, позволяя функторам быть компонентами структур в дополнение к параметрическим модулям Standard ML в форме функторов.

Возможности преемника ML

В выпуске 110.81 развитие SML / NJ направлено на развитие библиотеки Standard ML Basis и вспомогательных функций.

В текущем выпуске функции Successor ML можно включить с помощью параметра командной строки -Cparser.succ-ml = true.

Документы Successor ML были извлечены из SML / NJ. '97 TeX и доступен как GitHub репозиторий документов TeX, с которыми сообщество, как ожидается, будет сотрудничать и развивать язык.

Кроме того, HaMLet имеет полную реализацию функций Successor ML. Полученные таким образом практические знания включаются в SML / NJ по мере его развития в выпусках.

См. Также

Внешние ссылки

Ссылки

Последняя правка сделана 2021-06-09 07:36:33
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте