Declarative language for AI, based on many-sorted logic. Strongly typed, polymorphic, declarative, with a module system. Supports bignums and sets.
from CMU AI gloss:
"GOEDEL is intended to be a declarative successor to Prolog. The main
design aim of Goedel is to have functionality and expressiveness
similar to Prolog, but to have greatly improved declarative semantics
compared with Prolog. This improved declarative semantics has
substantial benefits for program construction, compilation,
verification, debugging, analysis, transformation, and so on.
Considerable emphasis is placed on Goedel's meta-logical facilities,
since this is where Prolog is most deficient. In particular, Goedel
has declarative replacements for Prolog's var, nonvar, assert, and
retract. Goedel is a strongly typed language, its type system being
based on many-sorted logic with parametric polymorphism.
Goedel's features include a module system, support for infinite
precision integers, infinite precision rationals, and floating-point
numbers, and support for processing of finite sets. It can solve
constraints over finite domains of integers and also linear rational
constraints. It supports processing of finite sets. It also
has a flexible computation rule and a pruning operator which
generalizes the commit of the concurrent logic programming languages.
The release includes the Goedel system, the SAGE partial evaluator
for Godel, a user manual, and 50 example programs. "