Jump to content

Алиса (язык программирования)

(Перенаправлено с Алисы МЛ )

Алиса
Парадигмы Мультипарадигма : императивный , функциональный , распределенный , параллельный , ограниченный.
Семья ML : Стандартный ML
Разработчик Саарский университет
Впервые появился 16 июня 2000 г .; 24 года назад ( 16.06.2000 )
Стабильная версия
1,4 / 3 мая 2007 г .; 17 лет назад ( 03.05.2007 )
Дисциплина набора текста сильный , статичный , предполагаемый
ТЫ Кросс-платформенный
Лицензия С
Веб-сайт www .ps .uni-саар .из / Алиса [1]
Под влиянием
МЛ , Оз

Alice ML — это назначения разработанный высокого уровня , многопарадигмальный общего функциональный язык программирования Лабораторией систем программирования Саарландского университета , Саарбрюккен , Германия . [2] Это диалект стандартного машинного обучения , дополненный поддержкой отложенных вычислений , параллелизма ( многопоточность и распределенные вычисления посредством удаленных вызовов процедур ) и программирования с ограничениями .

Alice расширяет Standard ML несколькими способами, которые отличают его от предшественника. Алиса предоставляет функции параллелизма как часть базового языка за счет использования будущего типа, который представляет значение, предоставляемое независимым потоком выполнения. Поток, использующий будущее значение, будет блокировать попытку доступа к этому значению до тех пор, пока поток, выполняющий его, не завершит вычисление. Также предусмотрена связанная концепция, называемая обещанием , позволяющая потоку предоставлять будущее значение, которое он вычислит другому потоку. Переменные типа Future и Promise используются для реализации синхронизации потоков данных.

Как и функциональный язык Haskell , Alice предоставляет средства, позволяющие использовать в программах стратегию ленивой оценки , в отличие от традиционной стратегии нетерпеливой оценки Standard ML. В то время как Haskell по умолчанию использует ленивую модель, Алиса по умолчанию использует нетерпеливую модель оценки, и для ленивого вычисления требуется явный программный оператор.

Реализация Алисы из Саарского университета использует виртуальную машину Simple Extensible Abstract Machine (SEAM) . Это бесплатное программное обеспечение , обеспечивающее своевременную компиляцию в байт-код и собственный код для архитектуры x86 .

Ранние версии Алисы работали на виртуальной машине (VM) Mozart Programming System (Oz), что позволяло взаимодействовать между Алисой и кодом Oz .

Удаленный вызов процедур Алисы зависит от виртуальной машины, поскольку она может отправлять код для вычисления с одного компьютера на другой.

Алиса расширяет Standard ML несколькими примитивами для отложенных вычислений и параллелизма. Например, потоки могут быть созданы с помощью spawn ключевое слово . Рассмотрим простой алгоритм вычисления чисел Фибоначчи :

 fun fib 0 = 0
   | fib 1 = 1
   | fib n = fib(n-1) + fib(n-2);

Для больших значений n, fib n считать придется долго. Это вычисление может быть выполнено в отдельном потоке с помощью

 val x = spawn fib n;

Переменная x теперь привязан к так называемому будущему . Когда для операции требуется значение x, он блокируется до тех пор, пока поток не завершит вычисления. Чтобы использовать параллелизм, можно даже определить fib следующим образом:

 fun fib 0 = 0
   | fib 1 = 1
   | fib n = spawn fib(n-1) + fib(n-2);

См. также

[ редактировать ]
  1. ^ «Алиса» . DE: Саарский университет .
  2. ^ «Лаборатория систем программирования» . Архивировано из оригинала 5 октября 2006 года . Проверено 8 августа 2006 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6892639d46f06703736d9a5190a104eb__1715756520
URL1:https://arc.ask3.ru/arc/aa/68/eb/6892639d46f06703736d9a5190a104eb.html
Заголовок, (Title) документа по адресу, URL1:
Alice (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)