Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- data RuleMorphism a b
- ruleMorphism :: Production (TypedGraphMorphism a b) -> Production (TypedGraphMorphism a b) -> TypedGraphMorphism a b -> TypedGraphMorphism a b -> TypedGraphMorphism a b -> RuleMorphism a b
- mappingLeft :: RuleMorphism a b -> TypedGraphMorphism a b
- mappingInterface :: RuleMorphism a b -> TypedGraphMorphism a b
- mappingRight :: RuleMorphism a b -> TypedGraphMorphism a b
Documentation
data RuleMorphism a b Source #
A morphism between two first order rules.
The following diagram illustrates such a morphism, omiting the NACs.
l1 r1 L1◀─────K1─────▶R1 │ │ │ mapL │ mapK│ mapR│ ▼ ▼ ▼ L2◀─────K2─────▶R2 l2 r2
domain = (l1,r1)
codomain = (l2,r2)
mappingLeft = mapL
mappingInterface = mapK
mappingRight = mapR
TODO: Make polymorphic on the type of morphism?
Eq (RuleMorphism a b) Source # | |
Show (RuleMorphism a b) Source # | |
Valid (RuleMorphism a b) Source # | |
Morphism (RuleMorphism a b) Source # | |
type Obj (RuleMorphism a b) Source # | |
ruleMorphism :: Production (TypedGraphMorphism a b) -> Production (TypedGraphMorphism a b) -> TypedGraphMorphism a b -> TypedGraphMorphism a b -> TypedGraphMorphism a b -> RuleMorphism a b Source #
mappingLeft :: RuleMorphism a b -> TypedGraphMorphism a b Source #
mappingInterface :: RuleMorphism a b -> TypedGraphMorphism a b Source #
mappingRight :: RuleMorphism a b -> TypedGraphMorphism a b Source #