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 века.
SML / NJ расширяет SML ' 97 Базовая библиотека с несколькими дополнительными структурами верхнего уровня:
SysInfo
предоставляет информацию о системе времени выполнения, например, тип операционной системы, тип и версию, а также поддерживает ли машина многопроцессорность.Слабые
обеспечивает поддержку слабых указателей.Структура Susp
реализует приостановки, необходимые для ленивого вычисления (в отличие от нетерпеливого вычисления ).Internals
обеспечивает доступ к некоторым внутренним компонентам компилятора, включая методы для создания экземпляра и изменения таблицы сигналов.Небезопасная
обеспечивает небезопасный доступ к структурам данных и функциям системы времени выполнения.Кроме того, SML / NJ предоставляет некоторые синтаксические конструкции, которые не являются стандартными функциями SML'97:
# [exp 0, exp 1,..., exp n−1]
и допускает сопоставление с образцом с аналогичным синтаксисом.(apat 1 |... | apat n) =>exp
.В выпуске 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 по мере его развития в выпусках.