purescript-0.15.15: PureScript Programming Language Compiler
Safe HaskellNone
LanguageHaskell2010

Language.PureScript.Names

Description

Data types for names

Synopsis

Documentation

data Name #

A sum of the possible name types, useful for error and lint messages.

Instances

Instances details
NFData Name # 
Instance details

Defined in Language.PureScript.Names

Methods

rnf :: Name -> () #

Generic Name # 
Instance details

Defined in Language.PureScript.Names

Methods

from :: Name -> Rep Name x #

to :: Rep Name x -> Name #

Show Name # 
Instance details

Defined in Language.PureScript.Names

Methods

showsPrec :: Int -> Name -> ShowS #

show :: Name -> String #

showList :: [Name] -> ShowS #

Eq Name # 
Instance details

Defined in Language.PureScript.Names

Methods

(==) :: Name -> Name -> Bool #

(/=) :: Name -> Name -> Bool #

Ord Name # 
Instance details

Defined in Language.PureScript.Names

Methods

compare :: Name -> Name -> Ordering #

(<) :: Name -> Name -> Bool #

(<=) :: Name -> Name -> Bool #

(>) :: Name -> Name -> Bool #

(>=) :: Name -> Name -> Bool #

max :: Name -> Name -> Name #

min :: Name -> Name -> Name #

Serialise Name # 
Instance details

Defined in Language.PureScript.Names

type Rep Name # 
Instance details

Defined in Language.PureScript.Names

data InternalIdentData #

This type is meant to be extended with any new uses for idents that come along. Adding constructors to this type is cheaper than adding them to Ident because functions that match on Ident can ignore all InternalIdents with a single pattern, and thus don't have to change if a new InternalIdentData constructor is created.

Constructors

RuntimeLazyFactory 
Lazy !Text 

Instances

Instances details
FromJSON InternalIdentData # 
Instance details

Defined in Language.PureScript.Names

ToJSON InternalIdentData # 
Instance details

Defined in Language.PureScript.Names

NFData InternalIdentData # 
Instance details

Defined in Language.PureScript.Names

Methods

rnf :: InternalIdentData -> () #

Generic InternalIdentData # 
Instance details

Defined in Language.PureScript.Names

Associated Types

type Rep InternalIdentData 
Instance details

Defined in Language.PureScript.Names

type Rep InternalIdentData = D1 ('MetaData "InternalIdentData" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'False) (C1 ('MetaCons "RuntimeLazyFactory" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Lazy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))
Show InternalIdentData # 
Instance details

Defined in Language.PureScript.Names

Eq InternalIdentData # 
Instance details

Defined in Language.PureScript.Names

Ord InternalIdentData # 
Instance details

Defined in Language.PureScript.Names

Serialise InternalIdentData # 
Instance details

Defined in Language.PureScript.Names

type Rep InternalIdentData # 
Instance details

Defined in Language.PureScript.Names

type Rep InternalIdentData = D1 ('MetaData "InternalIdentData" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'False) (C1 ('MetaCons "RuntimeLazyFactory" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Lazy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))

data Ident #

Names for value identifiers

Constructors

Ident Text

An alphanumeric identifier

GenIdent (Maybe Text) Integer

A generated name for an identifier

UnusedIdent

A generated name used only for type-checking

InternalIdent !InternalIdentData

A generated name used only for internal transformations

Instances

Instances details
FromJSON Ident # 
Instance details

Defined in Language.PureScript.Names

ToJSON Ident # 
Instance details

Defined in Language.PureScript.Names

NFData Ident # 
Instance details

Defined in Language.PureScript.Names

Methods

rnf :: Ident -> () #

Generic Ident # 
Instance details

Defined in Language.PureScript.Names

Associated Types

type Rep Ident 
Instance details

Defined in Language.PureScript.Names

Methods

from :: Ident -> Rep Ident x #

to :: Rep Ident x -> Ident #

Show Ident # 
Instance details

Defined in Language.PureScript.Names

Methods

showsPrec :: Int -> Ident -> ShowS #

show :: Ident -> String #

showList :: [Ident] -> ShowS #

Eq Ident # 
Instance details

Defined in Language.PureScript.Names

Methods

(==) :: Ident -> Ident -> Bool #

(/=) :: Ident -> Ident -> Bool #

Ord Ident # 
Instance details

Defined in Language.PureScript.Names

Methods

compare :: Ident -> Ident -> Ordering #

(<) :: Ident -> Ident -> Bool #

(<=) :: Ident -> Ident -> Bool #

(>) :: Ident -> Ident -> Bool #

(>=) :: Ident -> Ident -> Bool #

max :: Ident -> Ident -> Ident #

min :: Ident -> Ident -> Ident #

Serialise Ident # 
Instance details

Defined in Language.PureScript.Names

type Rep Ident # 
Instance details

Defined in Language.PureScript.Names

newtype OpName (a :: OpNameType) #

Operator alias names.

Constructors

OpName 

Fields

Instances

Instances details
FromJSON (OpName a) # 
Instance details

Defined in Language.PureScript.Names

ToJSON (OpName a) # 
Instance details

Defined in Language.PureScript.Names

NFData (OpName a) # 
Instance details

Defined in Language.PureScript.Names

Methods

rnf :: OpName a -> () #

Generic (OpName a) # 
Instance details

Defined in Language.PureScript.Names

Associated Types

type Rep (OpName a) 
Instance details

Defined in Language.PureScript.Names

type Rep (OpName a) = D1 ('MetaData "OpName" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'True) (C1 ('MetaCons "OpName" 'PrefixI 'True) (S1 ('MetaSel ('Just "runOpName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Methods

from :: OpName a -> Rep (OpName a) x #

to :: Rep (OpName a) x -> OpName a #

Show (OpName a) # 
Instance details

Defined in Language.PureScript.Names

Methods

showsPrec :: Int -> OpName a -> ShowS #

show :: OpName a -> String #

showList :: [OpName a] -> ShowS #

Eq (OpName a) # 
Instance details

Defined in Language.PureScript.Names

Methods

(==) :: OpName a -> OpName a -> Bool #

(/=) :: OpName a -> OpName a -> Bool #

Ord (OpName a) # 
Instance details

Defined in Language.PureScript.Names

Methods

compare :: OpName a -> OpName a -> Ordering #

(<) :: OpName a -> OpName a -> Bool #

(<=) :: OpName a -> OpName a -> Bool #

(>) :: OpName a -> OpName a -> Bool #

(>=) :: OpName a -> OpName a -> Bool #

max :: OpName a -> OpName a -> OpName a #

min :: OpName a -> OpName a -> OpName a #

Serialise (OpName a) # 
Instance details

Defined in Language.PureScript.Names

type Rep (OpName a) # 
Instance details

Defined in Language.PureScript.Names

type Rep (OpName a) = D1 ('MetaData "OpName" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'True) (C1 ('MetaCons "OpName" 'PrefixI 'True) (S1 ('MetaSel ('Just "runOpName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

showOp :: forall (a :: OpNameType). OpName a -> Text #

data OpNameType #

The closed set of operator alias types.

eraseOpName :: forall (a :: OpNameType). OpName a -> OpName 'AnyOpName #

coerceOpName :: forall (a :: OpNameType) (b :: OpNameType). OpName a -> OpName b #

newtype ProperName (a :: ProperNameType) #

Proper names, i.e. capitalized names for e.g. module names, type//data constructors.

Constructors

ProperName 

Fields

Instances

Instances details
FromJSON (ProperName a) # 
Instance details

Defined in Language.PureScript.Names

ToJSON (ProperName a) # 
Instance details

Defined in Language.PureScript.Names

NFData (ProperName a) # 
Instance details

Defined in Language.PureScript.Names

Methods

rnf :: ProperName a -> () #

Generic (ProperName a) # 
Instance details

Defined in Language.PureScript.Names

Associated Types

type Rep (ProperName a) 
Instance details

Defined in Language.PureScript.Names

type Rep (ProperName a) = D1 ('MetaData "ProperName" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'True) (C1 ('MetaCons "ProperName" 'PrefixI 'True) (S1 ('MetaSel ('Just "runProperName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Methods

from :: ProperName a -> Rep (ProperName a) x #

to :: Rep (ProperName a) x -> ProperName a #

Show (ProperName a) # 
Instance details

Defined in Language.PureScript.Names

Eq (ProperName a) # 
Instance details

Defined in Language.PureScript.Names

Methods

(==) :: ProperName a -> ProperName a -> Bool #

(/=) :: ProperName a -> ProperName a -> Bool #

Ord (ProperName a) # 
Instance details

Defined in Language.PureScript.Names

Serialise (ProperName a) # 
Instance details

Defined in Language.PureScript.Names

type Rep (ProperName a) # 
Instance details

Defined in Language.PureScript.Names

type Rep (ProperName a) = D1 ('MetaData "ProperName" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'True) (C1 ('MetaCons "ProperName" 'PrefixI 'True) (S1 ('MetaSel ('Just "runProperName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ProperNameType #

The closed set of proper name types.

coerceProperName :: forall (a :: ProperNameType) (b :: ProperNameType). ProperName a -> ProperName b #

Coerces a ProperName from one ProperNameType to another. This should be used with care, and is primarily used to convert ClassNames into TypeNames after classes have been desugared.

newtype ModuleName #

Module names

Constructors

ModuleName Text 

Instances

Instances details
FromJSON ModuleName # 
Instance details

Defined in Language.PureScript.Names

FromJSONKey ModuleName # 
Instance details

Defined in Language.PureScript.Names

ToJSON ModuleName # 
Instance details

Defined in Language.PureScript.Names

ToJSONKey ModuleName # 
Instance details

Defined in Language.PureScript.Names

NFData ModuleName # 
Instance details

Defined in Language.PureScript.Names

Methods

rnf :: ModuleName -> () #

Generic ModuleName # 
Instance details

Defined in Language.PureScript.Names

Associated Types

type Rep ModuleName 
Instance details

Defined in Language.PureScript.Names

type Rep ModuleName = D1 ('MetaData "ModuleName" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'True) (C1 ('MetaCons "ModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show ModuleName # 
Instance details

Defined in Language.PureScript.Names

Eq ModuleName # 
Instance details

Defined in Language.PureScript.Names

Ord ModuleName # 
Instance details

Defined in Language.PureScript.Names

Serialise ModuleName # 
Instance details

Defined in Language.PureScript.Names

type Rep ModuleName # 
Instance details

Defined in Language.PureScript.Names

type Rep ModuleName = D1 ('MetaData "ModuleName" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'True) (C1 ('MetaCons "ModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data QualifiedBy #

Instances

Instances details
NFData QualifiedBy # 
Instance details

Defined in Language.PureScript.Names

Methods

rnf :: QualifiedBy -> () #

Generic QualifiedBy # 
Instance details

Defined in Language.PureScript.Names

Associated Types

type Rep QualifiedBy 
Instance details

Defined in Language.PureScript.Names

type Rep QualifiedBy = D1 ('MetaData "QualifiedBy" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'False) (C1 ('MetaCons "BySourcePos" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourcePos)) :+: C1 ('MetaCons "ByModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)))
Show QualifiedBy # 
Instance details

Defined in Language.PureScript.Names

Eq QualifiedBy # 
Instance details

Defined in Language.PureScript.Names

Ord QualifiedBy # 
Instance details

Defined in Language.PureScript.Names

Serialise QualifiedBy # 
Instance details

Defined in Language.PureScript.Names

type Rep QualifiedBy # 
Instance details

Defined in Language.PureScript.Names

type Rep QualifiedBy = D1 ('MetaData "QualifiedBy" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'False) (C1 ('MetaCons "BySourcePos" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourcePos)) :+: C1 ('MetaCons "ByModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)))

data Qualified a #

A qualified name, i.e. a name with an optional module name

Constructors

Qualified QualifiedBy a 

Instances

Instances details
Functor Qualified # 
Instance details

Defined in Language.PureScript.Names

Methods

fmap :: (a -> b) -> Qualified a -> Qualified b #

(<$) :: a -> Qualified b -> Qualified a #

Foldable Qualified # 
Instance details

Defined in Language.PureScript.Names

Methods

fold :: Monoid m => Qualified m -> m #

foldMap :: Monoid m => (a -> m) -> Qualified a -> m #

foldMap' :: Monoid m => (a -> m) -> Qualified a -> m #

foldr :: (a -> b -> b) -> b -> Qualified a -> b #

foldr' :: (a -> b -> b) -> b -> Qualified a -> b #

foldl :: (b -> a -> b) -> b -> Qualified a -> b #

foldl' :: (b -> a -> b) -> b -> Qualified a -> b #

foldr1 :: (a -> a -> a) -> Qualified a -> a #

foldl1 :: (a -> a -> a) -> Qualified a -> a #

toList :: Qualified a -> [a] #

null :: Qualified a -> Bool #

length :: Qualified a -> Int #

elem :: Eq a => a -> Qualified a -> Bool #

maximum :: Ord a => Qualified a -> a #

minimum :: Ord a => Qualified a -> a #

sum :: Num a => Qualified a -> a #

product :: Num a => Qualified a -> a #

Traversable Qualified # 
Instance details

Defined in Language.PureScript.Names

Methods

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

sequenceA :: Applicative f => Qualified (f a) -> f (Qualified a) #

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

sequence :: Monad m => Qualified (m a) -> m (Qualified a) #

FromJSON a => FromJSON (Qualified a) # 
Instance details

Defined in Language.PureScript.Names

ToJSON a => ToJSON (Qualified a) # 
Instance details

Defined in Language.PureScript.Names

NFData a => NFData (Qualified a) # 
Instance details

Defined in Language.PureScript.Names

Methods

rnf :: Qualified a -> () #

Generic (Qualified a) # 
Instance details

Defined in Language.PureScript.Names

Associated Types

type Rep (Qualified a) 
Instance details

Defined in Language.PureScript.Names

type Rep (Qualified a) = D1 ('MetaData "Qualified" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'False) (C1 ('MetaCons "Qualified" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QualifiedBy) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Qualified a -> Rep (Qualified a) x #

to :: Rep (Qualified a) x -> Qualified a #

Show a => Show (Qualified a) # 
Instance details

Defined in Language.PureScript.Names

Eq a => Eq (Qualified a) # 
Instance details

Defined in Language.PureScript.Names

Methods

(==) :: Qualified a -> Qualified a -> Bool #

(/=) :: Qualified a -> Qualified a -> Bool #

Ord a => Ord (Qualified a) # 
Instance details

Defined in Language.PureScript.Names

Serialise a => Serialise (Qualified a) # 
Instance details

Defined in Language.PureScript.Names

type Rep (Qualified a) # 
Instance details

Defined in Language.PureScript.Names

type Rep (Qualified a) = D1 ('MetaData "Qualified" "Language.PureScript.Names" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'False) (C1 ('MetaCons "Qualified" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QualifiedBy) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

showQualified :: (a -> Text) -> Qualified a -> Text #

qualify :: ModuleName -> Qualified a -> (ModuleName, a) #

Provide a default module name, if a name is unqualified

mkQualified :: a -> ModuleName -> Qualified a #

Makes a qualified value from a name and module name.

disqualify :: Qualified a -> a #

Remove the module name from a qualified name

disqualifyFor :: Maybe ModuleName -> Qualified a -> Maybe a #

Remove the qualification from a value when it is qualified with a particular module name.

isQualified :: Qualified a -> Bool #

Checks whether a qualified value is actually qualified with a module reference

isUnqualified :: Qualified a -> Bool #

Checks whether a qualified value is not actually qualified with a module reference

isQualifiedWith :: ModuleName -> Qualified a -> Bool #

Checks whether a qualified value is qualified with a particular module