Gödel je v informatice deklarativní a všestranně použitelný programovací jazyk, který dodržuje logické programovací paradigma. Jedná se o silně typový jazyk, jehož systém je založen na mnohotříděné logice s parametrickým polymorfismem. Jazyk je pojmenován po logikovi Kurtu Gödelovi.
Gödel má modulární systém, který podporuje libovolnou přesnost celých čísel, racionálních čísel a čísel s pohyblivou desetinnou čárkou. Může řešit úlohy v oboru konečných celých čísel a zároveň v oboru lineárních racionálních čísel. Podporuje zpracování konečných množin. Má flexibilní výpočetní pravidla a pročišťovací (?) operátor (anglicky pruning operator), který zevšeobecňuje odkaz programovacích jazyků s konkurenční logikou.
Gödelovy metalogické prostředky poskytují podporu pro meta-programy, které zpracovávají analýzy, transformace, kompilace, verifikace, ladění a další úlohy.
Následující modul v jazyce Gödel hledá největšího společného dělitele dvou čísel. Příklad demonstruje deklaratorní povahu jazyka, bez ohledu na efektivitu řešení. CommonDivisor predikát říká, že jestliže čísla i a j nejsou nula, pak d je jejich společným dělitelem za podmínky, že leží v intervalu mezi 1 a menším číslem z čísel i a j, a že i a j dělí celočíselně. Gcd predikát pak říká, že d je největší společný dělitel čísel i a j, jestliže je společným dělitelem i a j a neexistuje žádné takové e, které by bylo společným dělitelem těchto čísel i a j a bylo větší než d.
i
j
d
e
MODULE GCD. IMPORT Integers. PREDICATE Gcd : Integer * Integer * Integer. Gcd(i,j,d) <- CommonDivisor(i,j,d) & ~ SOME [e] (CommonDivisor(i,j,e) & e > d). PREDICATE CommonDivisor : Integer * Integer * Integer. CommonDivisor(i,j,d) <- IF (i = 0 \/ j = 0) THEN d = Max(Abs(i),Abs(j)) ELSE 1 =< d =< Min(Abs(i),Abs(j)) & i Mod d = 0 & j Mod d = 0.
V tomto článku byl použit překlad textu z článku Gödel (programming language) na anglické Wikipedii.
Ada • C++ • Common Lisp • D • F# • Go • Oberon • Perl • PHP • Python • Ruby • Rust • Scala • Swift • Tcl (Tk) • Vala
AWK • C • COBOL • DCL • Forth • Fortran • Lua • Modula-2 / Modula-3 • Pascal • Pawn • PL/SQL
BETA • Boo • C# • Eiffel • Java (Groovy, Kotlin) • JavaScript • Object Pascal • Objective-C • Smalltalk • VB.NET
Clean • Ceylon • Erlang • Haskell • J • Lisp • Wolfram Language / Mathematica • Miranda • OCaml • Scheme
LINQ • SPARQL • SQL • XQuery • XSL (XSLT • XSL-FO • XPath)
Gödel • Prolog
Baltazar • Baltík • Karel • Kodu Game Lab • Logo • Microsoft Small Basic • Petr • Scratch
Befunge • Brainfuck • HQ9+ • Malbolge • Ook! • Piet • Whitespace
ALGOL • APL • B • BASIC • CPL (BCPL) • J • MUMPS • PL/I • Simula 67 • SNOBOL
ABAP • AppleScript • ColdFusion • JSA • Julia • MATLAB • R • Visual Basic (VBScript) • Vimscript • Visual FoxPro