Copyright | (C) CSIRO 2017-2018 |
---|---|
License | BSD3 |
Maintainer | Isaac Elliott <isaace71295@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Module names, including those qualified by packages.
See https://docs.python.org/3.5/tutorial/modules.html#packages
Synopsis
- data ModuleName v a
- = ModuleNameOne a (Ident v a)
- | ModuleNameMany a (Ident v a) Dot (ModuleName v a)
- data RelativeModuleName v a
- = RelativeWithName [Dot] (ModuleName v a)
- | Relative (NonEmpty Dot)
- makeModuleName :: Ident v a -> [([Whitespace], Ident v a)] -> ModuleName v a
- _moduleNameAnn :: ModuleName v a -> a
Documentation
data ModuleName v a Source #
A module name. It can be a single segment, or a sequence of them which are implicitly separated by period character.
a
a.b
ModuleNameOne a (Ident v a) | |
ModuleNameMany a (Ident v a) Dot (ModuleName v a) |
Instances
data RelativeModuleName v a Source #
RelativeWithName [Dot] (ModuleName v a) | |
Relative (NonEmpty Dot) |
Instances
makeModuleName :: Ident v a -> [([Whitespace], Ident v a)] -> ModuleName v a Source #
Convenience constructor for ModuleName
_moduleNameAnn :: ModuleName v a -> a Source #
Get the annotation from a ModuleName