Component Pascal is a general-purpose language in the tradition of Pascal, Modula-2, and Oberon. It is an Oberon-2 variant, incompatible with Pascal. Its most important features: block structure, modularity, separate compiling, static typing with strong type checking (also across module boundaries), type extension with methods, dynamic loading of modules, garbage collection. Two free versions exist.