Standard ML | |
---|---|
Семантика | Формальная, ориентированная на интерпретацию |
Класс языка |
аппликативный, функциональный, императивный |
Тип исполнения | общего назначения |
Появился в | 1984[1], 1990[2], 1997[3] |
Автор | Робин Милнер и другие |
Разработчик | Робин Милнер |
Расширение файлов |
.sml |
Выпуск | Standard ML '97 (1997 ) |
Система типов | Хиндли — Милнера |
Основные реализации | много |
Диалекты | Alice , SML# , Manticore и другие |
Испытал влияние | Lisp, ISWIM, ML, POP-2[англ.], Hope, Clear[англ.][4] |
Повлиял на |
Erlang, OCaml, Haskell, successor ML (sML) |
Лицензия | открытое ПО |
Сайт | sml-family.org |
Платформа |
x86, AMD64, PowerPC, ARM, SPARC, S390, DEC Alpha, MIPS, HPPA, PDP-11, JVM, .Net, LLVM, C--, TAL[англ.], Си[5], Ada[6] |
ОС |
*BSD, Linux (Debian, Fedora и др.), Windows, Cygwin, MinGW, Darwin, Solaris, Hurd, AIX, HP-UX |
Standard ML (SML) — компилируемый язык программирования общего назначения высшего порядка[англ.], основанный на системе типов Хиндли — Милнера.
Является «в основном функциональным» языком[7][8], то есть поддерживает большинство технических свойств функциональных языков, но также предоставляет развитые возможности императивного программирования при необходимости. Сочетает устойчивость программ, гибкость на уровне динамически типизируемых языков и быстродействие на уровне языка Си; обеспечивает превосходную поддержку как быстрого прототипирования, так и модульности и крупномасштабного программирования[англ.][9][10].
SML был первым самостоятельным компилируемым языком в семействе ML и до сих пор служит опорным языком в сообществе по развитию ML (successor ML)[11]. В SML впервые была реализована уникальная аппликативная система модулей — язык модулей ML.