hpython-0.3: Python language tools

Copyright(C) CSIRO 2017-2019
LicenseBSD3
MaintainerIsaac Elliott <isaace71295@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Language.Python.Syntax.ModuleNames

Description

Module names, including those qualified by packages.

See https://docs.python.org/3.5/tutorial/modules.html#packages

Synopsis

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

Constructors

ModuleNameOne (Ann a) (Ident v a) 
ModuleNameMany (Ann a) (Ident v a) Dot (ModuleName v a) 
Instances
HasIdents ModuleName Source # 
Instance details

Defined in Language.Python.Optics.Idents

Methods

_Idents :: Traversal (ModuleName v a) (ModuleName [] a) (Ident v a) (Ident [] a) Source #

Functor (ModuleName v) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Methods

fmap :: (a -> b) -> ModuleName v a -> ModuleName v b #

(<$) :: a -> ModuleName v b -> ModuleName v a #

Foldable (ModuleName v) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Methods

fold :: Monoid m => ModuleName v m -> m #

foldMap :: Monoid m => (a -> m) -> ModuleName v a -> m #

foldr :: (a -> b -> b) -> b -> ModuleName v a -> b #

foldr' :: (a -> b -> b) -> b -> ModuleName v a -> b #

foldl :: (b -> a -> b) -> b -> ModuleName v a -> b #

foldl' :: (b -> a -> b) -> b -> ModuleName v a -> b #

foldr1 :: (a -> a -> a) -> ModuleName v a -> a #

foldl1 :: (a -> a -> a) -> ModuleName v a -> a #

toList :: ModuleName v a -> [a] #

null :: ModuleName v a -> Bool #

length :: ModuleName v a -> Int #

elem :: Eq a => a -> ModuleName v a -> Bool #

maximum :: Ord a => ModuleName v a -> a #

minimum :: Ord a => ModuleName v a -> a #

sum :: Num a => ModuleName v a -> a #

product :: Num a => ModuleName v a -> a #

Traversable (ModuleName v) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Methods

traverse :: Applicative f => (a -> f b) -> ModuleName v a -> f (ModuleName v b) #

sequenceA :: Applicative f => ModuleName v (f a) -> f (ModuleName v a) #

mapM :: Monad m => (a -> m b) -> ModuleName v a -> m (ModuleName v b) #

sequence :: Monad m => ModuleName v (m a) -> m (ModuleName v a) #

HasAnn (ModuleName v) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Methods

annot :: Lens' (ModuleName v a) (Ann a) Source #

Eq a => Eq (ModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Methods

(==) :: ModuleName v a -> ModuleName v a -> Bool #

(/=) :: ModuleName v a -> ModuleName v a -> Bool #

Show a => Show (ModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Methods

showsPrec :: Int -> ModuleName v a -> ShowS #

show :: ModuleName v a -> String #

showList :: [ModuleName v a] -> ShowS #

Generic (ModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Associated Types

type Rep (ModuleName v a) :: Type -> Type #

Methods

from :: ModuleName v a -> Rep (ModuleName v a) x #

to :: Rep (ModuleName v a) x -> ModuleName v a #

HasTrailingWhitespace (ModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

HasNewlines (ModuleName v a) Source # 
Instance details

Defined in Language.Python.Optics.Newlines

type Rep (ModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

data RelativeModuleName v a Source #

Constructors

RelativeWithName (Ann a) [Dot] (ModuleName v a) 
Relative (Ann a) (NonEmpty Dot) 
Instances
HasIdents RelativeModuleName Source # 
Instance details

Defined in Language.Python.Optics.Idents

Functor (RelativeModuleName v) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Methods

fmap :: (a -> b) -> RelativeModuleName v a -> RelativeModuleName v b #

(<$) :: a -> RelativeModuleName v b -> RelativeModuleName v a #

Foldable (RelativeModuleName v) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Methods

fold :: Monoid m => RelativeModuleName v m -> m #

foldMap :: Monoid m => (a -> m) -> RelativeModuleName v a -> m #

foldr :: (a -> b -> b) -> b -> RelativeModuleName v a -> b #

foldr' :: (a -> b -> b) -> b -> RelativeModuleName v a -> b #

foldl :: (b -> a -> b) -> b -> RelativeModuleName v a -> b #

foldl' :: (b -> a -> b) -> b -> RelativeModuleName v a -> b #

foldr1 :: (a -> a -> a) -> RelativeModuleName v a -> a #

foldl1 :: (a -> a -> a) -> RelativeModuleName v a -> a #

toList :: RelativeModuleName v a -> [a] #

null :: RelativeModuleName v a -> Bool #

length :: RelativeModuleName v a -> Int #

elem :: Eq a => a -> RelativeModuleName v a -> Bool #

maximum :: Ord a => RelativeModuleName v a -> a #

minimum :: Ord a => RelativeModuleName v a -> a #

sum :: Num a => RelativeModuleName v a -> a #

product :: Num a => RelativeModuleName v a -> a #

Traversable (RelativeModuleName v) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Methods

traverse :: Applicative f => (a -> f b) -> RelativeModuleName v a -> f (RelativeModuleName v b) #

sequenceA :: Applicative f => RelativeModuleName v (f a) -> f (RelativeModuleName v a) #

mapM :: Monad m => (a -> m b) -> RelativeModuleName v a -> m (RelativeModuleName v b) #

sequence :: Monad m => RelativeModuleName v (m a) -> m (RelativeModuleName v a) #

HasAnn (RelativeModuleName v) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Eq a => Eq (RelativeModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Show a => Show (RelativeModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Generic (RelativeModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

Associated Types

type Rep (RelativeModuleName v a) :: Type -> Type #

HasTrailingWhitespace (RelativeModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

HasNewlines (RelativeModuleName v a) Source # 
Instance details

Defined in Language.Python.Optics.Newlines

type Rep (RelativeModuleName v a) Source # 
Instance details

Defined in Language.Python.Syntax.ModuleNames

makeModuleName :: Ident v a -> [([Whitespace], Ident v a)] -> ModuleName v a Source #

Convenience constructor for ModuleName