Nadzieja (język programowania) - Hope (programming language)

Hope to mały funkcjonalny język programowania opracowany w latach siedemdziesiątych XX wieku na Uniwersytecie w Edynburgu . Jest starsza niż Miranda i Haskell i jest współcześnie z ML , również opracowanym na Uniwersytecie. Hope wywodzi się z NPL , prostego języka funkcjonalnego opracowanego przez Roda Burstalla i Johna Darlingtona w ich pracy nad transformacją programu. NPL i Hope wyróżniają się jako pierwsze języki z oceną wywołania według wzorca i algebraicznymi typami danych .

Hope została nazwana na cześć Sir Thomasa Hope'a (ok. 1681–1771), szkockiego reformatora rolnictwa, od którego pochodzi również nazwa Hope Park Square w Edynburgu, siedziba Departamentu Sztucznej Inteligencji w czasie rozwoju Hope.

Szczegóły dotyczące języka

Program silni w Hope to:

dec fact : num -> num;
--- fact 0 <= 1;
--- fact n <= n*fact(n-1);

Zmiana kolejności klauzul nie zmienia znaczenia programu, ponieważ dopasowanie wzorców Hope'a zawsze faworyzuje bardziej szczegółowe wzorce nad mniej specyficznymi. Jawne deklaracje typu w Hope są wymagane; w programie Hope nie ma opcji korzystania z algorytmu wnioskowania o typie.

Hope zapewnia dwie wbudowane struktury danych: krotki i listy.

Wdrożenia

Pierwsza implementacja Hope była surowa , ale od tamtej pory były wersje leniwe i wersje ścisłe z leniwymi konstruktorami. British Telecom wraz z Imperial College rozpoczął projekt wdrożenia ścisłej wersji. Pierwsze wydanie zostało napisane przez Thanosa Vassilakisa w 1986 roku. Kolejne wydania zostały napisane przez Marka Tasnga z British Telecom. Następca języka Hope + (opracowany wspólnie przez Imperial College i International Computers Limited (ICL) dodał adnotacje, które dyktują ścisłą lub leniwą ocenę.

Poradnik Rogera Baileya dotyczący nadziei w BYTE z sierpnia 1985 r. Odwołuje się do interpretera dla IBM PC DOS 2.0.

Bibliografia

Zewnętrzne linki