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.