What is C-- (C minus minus) ?

C-- is a compiler target language which is designed to simplify the work of implementing a compiler which produce high quality machine code.
It is designed it to be generated mainly by compilers for very high-level languages rather than written by programmers.

C-- is developed by Simon Peyton Jones and Norman Ramsey.

C-- in some way is influenced by C. We can say that it is a subset of C (that’s why named as C--).

It serves as a portable assembly language that could be generated by a front end & implemented by several code generators. It acts as an interface between high-level compilers and retargetable, optimizing code generators.

Some of the merits of C-- over other compiler infrastructures are it support multiple front ends for multiple languages and also provides a run-time interface for the implementation of garbage collection and exception handling.