SML

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Standard ML
Семантика:

императивный

Класс языка:

функциональное программирование

Появился в:

1990

Система типов:

строгая, статическая, вывод типов

Основные реализации:

MLton, Harlequin MLWorks, Moscow ML, Poly/ML, SML#, SML.NET

Испытал влияние:

ML

Standard ML — функциональный язык программирования общего назначения с уникальной системой модулей.

Содержит некоторые императивные свойства, такие как ссылки на изменяемые значения, и поэтому не является чистым функциональным языком (в отличие, например, от Haskell), но является одним из немногих языков с доказанной надёжностью. При вычислениях использует «вызов-по-значению». Параметрически полиморфная система типов использует так называемую «схему главной типизации» (principal typing scheme), которая одновременно выводит наиболее общий полиморфный тип для каждого подвыражения и строго проверяет их согласование. Определение языка (The Definition), служащее его неофициальным стандартом, строго определяет синтаксис и статическую и динамическую семантику языка. Актуальная версия — SML’97: Revised. Ей предшествовала лишь одна - SML'90. Стандартная библиотека, прошедшая многолетнюю отработку, была определена в 2004 году под названием SML Basis.

См. также[править | править вики-текст]