Module to work with qualified names. A qualified name is a combination of a module path and a local name.
Type that represents a qualified name.
toTuple : QName -> ( Morphir.IR.Path.Path, Morphir.IR.Name.Name )
Turn a qualified name into a tuple.
getModulePath : QName -> Morphir.IR.Path.Path
Get the module path part of a qualified name.
getLocalName : QName -> Morphir.IR.Name.Name
Get the local name part of a qualified name.
fromName : Morphir.IR.Path.Path -> Morphir.IR.Name.Name -> QName
Creates a qualified name.
fromTuple : ( Morphir.IR.Path.Path, Morphir.IR.Name.Name ) -> QName
Turn a tuple into a qualified name.
fromString : String -> Maybe QName
Parse a string into a QName using :
as the separator between module and local names.
toString : QName -> String
Turn a QName into a string using :
as the separator between module and local names.
qname =
QName.fromTuple
(Path.fromList
[ Name.fromList [ "foo", "bar" ]
, Name.fromList [ "baz" ]
]
, Name.fromList [ "a", "name" ]
)
toString qname
--> "FooBar.Baz:aName"