| |||||||||||||||||
| |||||||||||||||||
| Description | |||||||||||||||||
| This module defines optimizing transformations for VDM_SL. | |||||||||||||||||
| Synopsis | |||||||||||||||||
| |||||||||||||||||
| Documentation | |||||||||||||||||
| optimizeTables :: [Field] -> [Field] | |||||||||||||||||
| ?? | |||||||||||||||||
| unifyCompose :: [Type] -> Type | |||||||||||||||||
| ?? | |||||||||||||||||
| composeFusion :: Type -> Type -> Type | |||||||||||||||||
Function that makes the fusion of two composes Case 1: (A1 * A2 * ...) nil = (A1 * A2 * ...) Case 2: nil (B1 * B2 * ...) = (B1 * B2 * ...) Case 3: (A1 * A2 * ...) (B1 * B2 * ...) = (A1 * A2 * ... * B1 * B2 * ...) | |||||||||||||||||
| compareCompose :: Type -> Type -> Bool | |||||||||||||||||
| Function that compare two composes. Two composes are equal if their FIELD_LIST are equal. This ignores the compose identifier, that haves no meaning here. | |||||||||||||||||
| collectUniqueKeys :: [Field] -> [(Name, Type)] | |||||||||||||||||
| ?? | |||||||||||||||||
| findKeys :: [Field] -> [(Name, Type)] | |||||||||||||||||
| ?? | |||||||||||||||||
| collectRng :: Term r => Type -> r -> [Type] | |||||||||||||||||
| ?? | |||||||||||||||||
| optimizeComposes :: [Field] -> [Field] | |||||||||||||||||
| Optmize nested composes. | |||||||||||||||||
| composeMerge :: Field -> [Field] | |||||||||||||||||
| Merge the outer compose with the inner one if they exist. | |||||||||||||||||
| Produced by Haddock version 0.6 |