The number of specifications can be reduced, and special-purpose languages can be used to simplify those specifications.
To overcome this barrier Eli embodies a decomposition of the total problem into a set of well-defined subproblems, provides libraries and special-purpose languages for solving those subproblems, and automatically combines the solutions into a working compiler.
One of thse special-purpose languages, OIL, is used to solve the operator identification problem common to compiler construction.