Copyright | (c) Igor Stassiy, DFKI Bremen 2008 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | Christian.Maeder@dfki.de |
Stability | provisional |
Portability | non-portable(Logic) |
Safe Haskell | None |
In this module we introduce flattening of the graph:
Flattening importings - deleting all inclusion links, and inserting a new node, with new computed theory (computeTheory).
Flattening non-disjoint unions - for each node with more than two importings modify importings in such a way that at each level, only non-disjoint signatures are imported.
Flattening renaming - deterimining renaming link, inserting a new node with the renaming morphism applied to theory of a source, deleting the link and setting a new inclusion link between a new node and the target node.
Flattening hiding links - for each compute normal form if there is such and eliminate hiding links.
Flattening heterogeneity - for each heterogeneous link, compute theory of a target node and eliminate heterogeneous link.
Documentation
dgFlatImports :: LibEnv -> LibName -> DGraph -> DGraph
libFlatImports :: LibEnv -> Result LibEnv
dgFlatDUnions :: LibEnv -> DGraph -> DGraph
libFlatDUnions :: LibEnv -> Result LibEnv
dgFlatRenamings :: LibEnv -> LibName -> DGraph -> DGraph
libFlatRenamings :: LibEnv -> Result LibEnv
dgFlatHiding :: DGraph -> DGraph
libFlatHiding :: LibEnv -> Result LibEnv
dgFlatHeterogen :: LibEnv -> LibName -> DGraph -> DGraph
libFlatHeterogen :: LibEnv -> Result LibEnv