Hope (programovací jazyk) - Hope (programming language)
Hope je malý funkční programovací jazyk vyvinutý v 70. letech na University of Edinburgh . To předchází Miranda a Haskell a je současný s ML , také vyvinutý na univerzitě. Naděje byla odvozena z NPL , jednoduchého funkčního jazyka vyvinutého Rodem Burstallem a Johnem Darlingtonem v jejich práci na transformaci programu. NPL a Hope jsou pozoruhodné tím, že jsou prvními jazyky s hodnocením podle vzorce a algebraickými datovými typy .
Naděje byla pojmenována po siru Thomasovi Hopeovi (asi 1681–1771), skotskému zemědělskému reformátorovi, po němž byl pojmenován také Hope Park Square v Edinburghu, kde se v době vývoje naděje nacházelo oddělení umělé inteligence.
Jazykové podrobnosti
Faktoriální program v Hope je:
dec fact : num -> num; --- fact 0 <= 1; --- fact n <= n*fact(n-1);
Změna pořadí klauzí nemění význam programu, protože Hopeova shoda vzorů vždy upřednostňuje konkrétnější vzory před méně konkrétními. Výslovná prohlášení typu v Hope jsou povinná; v Hope není možnost použít algoritmus odvození typu.
Naděje poskytuje dvě integrované datové struktury: n-tice a seznamy.
Implementace
První implementace Hope byla přísná , ale od té doby existují líné verze a přísné verze s línými konstruktory. British Telecom zahájil s Imperial College projekt implementace přísné verze. První vydání bylo kódováno Thanosem Vassilakisem v roce 1986. Další vydání byly kódovány Markem Tasngem z British Telecom. Nástupnický jazyk Hope + (vyvinutý společně mezi Imperial College a International Computers Limited (ICL)) přidal poznámky, aby diktoval buď přísné nebo líné hodnocení.
Výukový program Rogera Baileyho Hope v vydání BYTE ze srpna 1985 odkazuje na tlumočníka pro IBM PC DOS 2.0.