NUT

A metaprogramming knowledge-based environment that combines object-oriented (procedural, modular) and declarative (structural synthesis of programs) programming paradigms.

See also combining languages.