Morgan-Stanley / morphir-elm / Morphir.IR.Module

Modules are groups of types and values that belong together.


type alias Specification a =
{ types : Dict Morphir.IR.Name.Name (Morphir.IR.Documented.Documented (Morphir.IR.Type.Specification a))
, values : Dict Morphir.IR.Name.Name (Morphir.IR.Value.Specification a) 
}

Type that represents a module specification.


type alias Definition a =
{ types : Dict Morphir.IR.Name.Name (Morphir.IR.AccessControlled.AccessControlled (Morphir.IR.Documented.Documented (Morphir.IR.Type.Definition a)))
, values : Dict Morphir.IR.Name.Name (Morphir.IR.AccessControlled.AccessControlled (Morphir.IR.Value.Definition a)) 
}

Type that represents a module definition. It includes types and values.


type alias ModulePath =
Morphir.IR.Path.Path

definitionToSpecification : Definition a -> Specification a

eraseSpecificationAttributes : Specification a -> Specification ()

mapDefinitionAttributes : (a -> b) -> Definition a -> Definition b

mapSpecificationAttributes : (a -> b) -> Specification a -> Specification b