Gödel (programovací jazyk) - Gödel (programming language)
Paradigma | deklarativní, logika |
---|---|
Navrhl | John Lloyd a Patricia Hill |
Vývojář | John Lloyd a Patricia Hill |
Poprvé se objevil | 1992 |
Stabilní uvolnění | 1.5 / 11. srpna 1995 |
Psací disciplína | silný |
OS | Unixový |
Licence | Pouze pro nekomerční výzkumné / vzdělávací účely |
Dialekty | |
Gödel s obecnými (parametrizovanými) moduly |
Gödel je deklarativní, univerzální programovací jazyk který dodržuje logika paradigma programování. Je to silně psaný jazyk, na kterém je založen typový systém mnohostranná logika s parametrický polymorfismus. Je pojmenován po logikovi Kurt Gödel.
Funkce
Gödel má modulový systém, který podporuje libovolná přesnost celá čísla, arbitrární přesnost racionálních čísel a také čísla s plovoucí desetinnou čárkou. Může to vyřešit omezení přes konečné domény celých čísel a také lineární racionální omezení. Podporuje zpracování konečné množiny. Má také flexibilní výpočetní pravidlo a operátor prořezávání, který zobecňuje potvrzení souběžných logických programovacích jazyků.
Gödel's metalogické zařízení poskytují podporu pro metaprogramy, které provádějí analýzy, proměna, kompilace, ověření a ladění, mimo jiné úkoly.
Ukázkový kód
Následující modul Gödel je specifikací největšího společného dělitele (GCD) dvou čísel. Jejím cílem je demonstrovat deklarativní povahu Gödela, nikoli zvlášť efektivní Společný dělitel
predikát říká, že pokud i
a j
nejsou tedy nula d
je společným dělitelem i
a j
pokud leží mezi 1
a menší z i
a j
a rozděluje obě i
a j
přesně Gcd
predikát to říká d
je největším společným dělitelem i
a j
pokud je společným dělitelem i
a j
a neexistuje žádná E
to je také společný dělitel i
a j
a je větší než d
.
MODUL GCD. DOVOZ celá čísla. PREDICATE Gcd: Integer * Integer * Integer.Gcd (i, j, d) <- CommonDivisor (i, j, d) & ~ SOME [e] (CommonDivisor (i, j, e) & e> d). PREDIKÁT CommonDivisor: Integer * Integer * Integer.CommonDivisor (i, j, d) <- IF (i = 0 / j = 0) POTOM d = Max (Abs (i), Abs (j)) JINÉ 1 =externí odkazy