Informix-4GL is a 4GL programming language developed by Informix during the mid-1980s.
It includes embedded SQL, a report writer language, a form language, and a limited set of imperative capabilities (functions, if and while statements, and supports arrays etc.). The language is particularly close to a natural language and is easy to learn and use.
It has two versions of compiler which either produce 1) intermediate byte code for an interpreter (known as the rapid development system), or 2) C Programming Language code for compilation with a C compiler into machine-code (which executes faster, but compiles slower, and executables are bigger). It is specifically designed to run as a client on a network, connected to an IBM Informix database engine service. It has a mechanism for calling C Programming Language functions and conversely, to be called from executing C programs. The RDS version also features an interactive debugger for Dumb terminals. A particular feature is the comprehensive error checking which is built into the final executable and the extremely helpful error messages produced by both compilers and executables. It also features embedded modal statements for changing compiler and executable behaviour (e.g. causing the compiler to include memory structures matching database schema structures and elements, or to continue executing in-spite of error conditions, which can be trapped later on).