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

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

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

Сведения о языке

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

dec fact : num -> num;
--- fact 0 <= 1;
--- fact n <= 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.

Рекомендации

внешняя ссылка