Copyright | (C) CSIRO 2017-2019 |
---|---|
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 (Ann a) (Ident v a)
- | ModuleNameMany (Ann a) (Ident v a) Dot (ModuleName v a)
- data RelativeModuleName v a
- = RelativeWithName (Ann a) [Dot] (ModuleName v a)
- | Relative (Ann a) (NonEmpty Dot)
- makeModuleName :: Ident v a -> [([Whitespace], Ident v a)] -> ModuleName v 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 (Ann a) (Ident v a) | |
ModuleNameMany (Ann a) (Ident v a) Dot (ModuleName v a) |
Instances
data RelativeModuleName v a Source #
RelativeWithName (Ann a) [Dot] (ModuleName v a) | |
Relative (Ann a) (NonEmpty Dot) |
Instances
makeModuleName :: Ident v a -> [([Whitespace], Ident v a)] -> ModuleName v a Source #
Convenience constructor for ModuleName