The Ciao programming language

Ciao is a programming language that builds up from a logic-based simple kernel, and is designed to be extensible and modular. Its supports:

The system implements some advanced features such as separate and incremental compilation, global program analysis and static debugging and optimization (via source to source program transformation, CiaoPP preprocessor), a build automation system, documentation generator, debugger, and (Emacs-based) development environment.