Kaleidoskop (programovací jazyk) - Kaleidoscope (programming language)
The Programovací jazyk kaleidoskop je programování omezení vkládání jazyků omezení do rozkazovací způsob objektově orientovaný Jazyk. Přidává klíčová slova vždy, jednou, a tvrdit..v době (dříve zatímco..tvrdit) dělat prohlášení o relačních invariantech. Objekty mají konstruktory omezení, které nejsou metodami, k vynucení významů uživatelem definovaných datových typů.
Existují tři verze kaleidoskopu, které ukazují vývoj od deklarativního ke stále více imperativnímu stylu. Rozdíly mezi nimi jsou následující.[1]
Kaleidoskop'90 | Kaleidoskop'91 | Kaleidoskop'93 | |
---|---|---|---|
Vyhodnocení omezení | Líný | Dychtivý | Dychtivý |
Proměnné | Zadržujte streamy | Zadržujte streamy | Rozkazovací způsob |
Souběžná omezení | Přísný | Přísný | Non-strict |
Syntax | Smalltalk-like | Algol | Algol |
Omezovací model | Upřesnění | Upřesnění | Porucha |
Způsob odeslání | Singl | Násobek | Násobek |
Úkol | Jako omezení | Jako omezení | Destruktivní |
Příklad
Porovnejte dva segmenty kódu, přičemž oba umožňují uživateli přetáhnout hladinu rtuti v jednoduchém grafickém teploměru myší.
Bez omezení:
while mouse.button = down do old <- mercury.top; mercury.top <- mouse.location.y; teplota <- rtuť. výška / stupnice; if oldmercury.top pak delta_white (mercury.top, old); display_number (temperature); konec pokud; konec zatímco;
S omezeními:
vždy: teplota = rtuť.výška / měřítko; vždy: bílý obdélník (teploměr); vždy: šedý obdélník (rtuť); vždy: číslo displeje (teplota); zatímco mouse.button = dolů dělat mercury.top = mouse.location.y ; skončit;
Reference
- Lopez, Gus; Bjorn Freeman-Benson; Alan Borning (1994). „Kaleidoskop: Omezující imperativní programovací jazyk“. Programování omezení. Springer-Verlag. 313–329.
- Marriott, Kim; Peter J. Stuckey (1998). Programování s omezeními: Úvod. MIT Stiskněte. ISBN 0-262-13341-5
![]() | Tento programovací jazyk související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |