Надежда (язык программирования)

редактировать

Hope - это небольшой функциональный язык программирования, разработанный в 1970-х годах в Эдинбургском университете. Он предшествует Miranda и Haskell и является современником ML, также разработанного в университете. Hope произошел от NPL, простого функционального языка, разработанного Родом Берстоллом и Джоном Дарлингтоном в их работе над преобразованием программ. NPL и Hope известны тем, что были первыми языками с оценкой вызова по шаблону и алгебраическими типами данных.

Хоуп был назван в честь сэра Томаса Хоупа (ок. 1681–1771), шотландского реформатора сельского хозяйства, в честь которого также была названа площадь Хоуп-Парк-сквер в Эдинбурге, где на момент создания «Хоуп» находился Департамент искусственного интеллекта.

СОДЕРЖАНИЕ
  • 1 Сведения о языке
  • 2 Реализации
  • 3 ссылки
  • 4 Внешние ссылки
Сведения о языке

Факториальная программа в Hope:

dec fact : num -gt; num; --- fact 0 lt;= 1; --- fact n lt;= n*fact(n-1);

Изменение порядка предложений не меняет смысла программы, потому что при сопоставлении с образцом Хоуп всегда предпочтение отдается более конкретным образцам, чем менее конкретным. Требуются явные объявления типов в Hope; в Hope нет возможности использовать алгоритм вывода типов.

Hope предоставляет две встроенные структуры данных: кортежи и списки.

Реализации

Первая реализация Hope была строгой, но с тех пор появились ленивые версии и строгие версии с ленивыми конструкторами. British Telecom вместе с Имперским колледжем приступила к проекту по внедрению строгой версии. Первый выпуск был написан Таносом Вассилакисом в 1986 году. Последующие выпуски были написаны Марком Таснгом из British Telecom. Язык-преемник Hope + (разработанный совместно Imperial College и International Computers Limited (ICL)) добавил аннотации, предписывающие либо строгую, либо ленивую оценку.

Учебник Roger Bailey's Hope в августовском выпуске BYTE за 1985 год ссылается на интерпретатор для IBM PC DOS 2.0.

Рекомендации
внешняя ссылка
Последняя правка сделана 2023-04-16 08:33:24
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте