Component Pascal Description
Component Pascal is a general purpose language in the tradition Oberon, Modula-2 and Pascal. It has the following key features: block structure, modularity and static typing with strong type-checking (also across module boundaries), type extension using methods, dynamic loading modules and garbage collection. Component Pascal is an object-oriented language because it supports type extension. An object is a variable in an abstract data type that contains private data (its state), and the procedures that operate on it. Extensible records are used to declare abstract data types. Component Pascal covers the majority of terms in object-oriented languages using the established vocabulary for imperative languages to reduce the number of notions related concepts. Component Pascal is a component-oriented language. It has complete type safety and requires a dynamic object model.