Patent ID: 7676476

Claim:
A data constraint system comprising a processor executing the following components: a type receiver component that receives a data type; a collation information receiver component that receives collation information used to compare and/or order data of the received data type, the collation information comprising one or more additional data type parameters that are configured to facilitate compile-time strong type checking of the data type, wherein during a compare or order operation, the compile-time analysis ensures that the data types, including any additional data type parameters, are the same or compatible; a construction component that utilizes the received type and the collation information to produce a data constraint component that includes a type restraint and a collation restraint which includes the additional data type parameters such that variables of the received data type parameterized by the collation information automatically include the collation information, wherein parameterizing includes adding one or more additional data type parameters to the data type, and further wherein the additional type parameters allow for strong type checking at compile-time without having to carry additional information associated with collation for each instance of the data.