Компьютеры антивирусы медицина спорт Четверг, 12.12.2024, 15:23
Меню сайта
Категории раздела
Мои статьи [12]
Компьютеры. [188]
Hi-Tech. [81]
Медицина. [102]
Антивирусники [61]
Энциклопедия языков программирования [61]
Интернет [30]
Софт [59]
Спорт [51]

Кнопка сайта


Статистика





Каталог ссылок. Информационный портал - Старого.NET




Онлайн всего: 1
Гостей: 1
Пользователей: 0

Луганет





Украинских гривен курсы валют Прага
(RUB)//-//
Евро(EUR)//-//
Доллар США(USD)//-//
Форма входа

Главная » Статьи » Энциклопедия языков программирования

ML
ML — функциональный язык программирования общего назначения, разработанный Робином Милнером (Robin Milner) и другими в поздних 1970-ых в Университете Эдинбурга; синтаксис этого языка создан под влиянием ISWIM.

Исторически ML расшифровывается как MetaLanguage (метаязык), т. к. он был использован для разработки тактики вывода автоматических доказательств теорем LCF (язык, для которого ML был метаязыком — pplambda, комбинация исчисления предикатов первого порядка и полиморфного λ-исчисления с простой типизацией).

Известен благодаря использованию алгоритма вывода типов Хиндли-Милнера (Hindley-Milner type inference algorithm), который может вычислять тип большинства значений без потребности в экстенсивной аннотации типов, часто критикуемой в таких языках, как Java. 

Перечислим наиболее важные черты ML: 
ML является функциональным языком программирования. Функции являются полноправными объектами: они могут передаваться в качестве аргументов, вырабатываться в качестве результата и храниться в переменных. Основной способ организации управления в программах на ML - рекурсивное применение функций 
ML является интерактивным языком. Каждое введенное предложение анализируется, компилируется и исполняется, и значение, полученное в результате исполнения предложения, вместе с его типом выдается пользователю 
ML является строго типизированным языком. Каждое допустимое выражение имеет тип, который автоматически определяется 
ML имеет полиморфную систему типов. Каждое допустимое предложение языка обладает однозначно определяемой наиболее общей типизацией, которая определяет контексты, в которых предложение может быть использовано. 
ML поддерживает абстрактные типы данных. Абстрактные типы весьма полезный механизм в модульном программировании. Новые типы данных могут быть определены вместе с набором операций над значениями этих типов 
в ML области действия идентификаторов определяются статически. Смысл всех идентификаторов в программе определяется статически, что позволяет создавать более модульные и более эффективные программы 
ML содержит надежно типизированный механизм обработки исключительных событий 
ML содержит средства разбиения программ на модули, обеспечивающие возможность разработки больших программ по частям 

Элементы синтаксиса:Комментарии, которые не могут быть вложенными (* ... *) 
Регистрозависимость да 
Присваивание значения переменной := 
Сравнение < > <= >= 
Последовательность ; 
Если - то if (condition) then ... 
Если - то - иначе if (condition) then ... else ... 
Цикл с предусловием while (condition) do ...


Дата создания: 1973
Создан под влиянием: 
ISWIM
Повлиял на: 
Cyclone
F#
Haskell
Miranda
Scala
Парадигма: императивная, мультипарадигма, функциональная 
Типизация: вывод типов, статическая, строгая 
Диалекты: 
CAML
Standard ML
Реализации и версии (свернуть все | развернуть все):
Caml Light 
Caml Special Light 
Dependent ML 
Edinburgh ML 
Extended ML 
GAML 
HaMLet 
HaMLet S 
Heavy CAML 
Lazy ML 
ML Kit 
MLj 
MLton 
MOSCOW ML 
MicroML 
Objective CAML 
Poly/ML 
SML# 
SML.NET 
SML/NJ 
SMLtoJs 
Successor ML 
TILT 
sml2c

Категория: Энциклопедия языков программирования | Добавил: DankoIya (19.09.2009)
Просмотров: 685 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:




Друзья сайта
  • "Красота"
  • МСК "Лугор"
  • Северодонецк"
  • Поиск
    Пользовательского поиска




    Сними свой «Аватар»



    Как установить на один компьютер Windows Vista, XP и Linux?



    Доктор Веб нашел порнографию ВКонтакте