Mercury
Logic/functional language with a static type and mode system — Prolog with the performance and safety guarantees of a compiled language.
static
compiled
since 1995
logicfunctionaldeclarative
Mercury combines Prolog’s logic programming model with a strict static type system, determinism annotations, and compilation to efficient native code. The mode system tracks whether variables are inputs or outputs, eliminating the non-determinism pitfalls of Prolog. It is used in research and in the Aditi deductive database system.