| Copyright | (C) CSIRO 2017-2019 | 
|---|---|
| License | BSD3 | 
| Maintainer | Isaac Elliott <isaace71295@gmail.com> | 
| Stability | experimental | 
| Portability | non-portable | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Language.Python.Syntax.ModuleNames
Description
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 #
A module name. It can be a single segment, or a sequence of them which are implicitly separated by period character.
a
a.b
Constructors
| ModuleNameOne (Ann a) (Ident v a) | |
| ModuleNameMany (Ann a) (Ident v a) Dot (ModuleName v a) | 
Instances
data RelativeModuleName v a #
Constructors
| RelativeWithName (Ann a) [Dot] (ModuleName v a) | |
| Relative (Ann a) (NonEmpty Dot) | 
Instances
makeModuleName :: Ident v a -> [([Whitespace], Ident v a)] -> ModuleName v a #
Convenience constructor for ModuleName