# HCC A Refinement Precompiler for C++

Nearly all modern programming languages provide methods for programming at the module level. This includes mechanisms for defining procedures and functions, as well as packets or classes. However in general there are no features that support programming within procedure bodies. Within a procedure body itself there are no further powerful statements enabling an aesthetically pleasing top-down development of the code. This gives rise to one of two undesired effects:

- Either there are ugly mountains of nested brackets representing the nested blocks,
- there are only small procedures with ridiculously large parameter lists, because everything must be a parameter.

Refinements allow further structuring inside a procedure, to prevent these effects. You can download :

- A paper, which describes the ideas in detail.
- The C-Source-Code of HCC.