purescript-0.15.8: PureScript Programming Language Compiler
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.PureScript.Roles

Description

Data types for roles.

Synopsis

Documentation

data Role Source #

The role of a type constructor's parameter.

Constructors

Nominal

This parameter's identity affects the representation of the type it is parameterising.

Representational

This parameter's representation affects the representation of the type it is parameterising.

Phantom

This parameter has no effect on the representation of the type it is parameterising.

Instances

Instances details
FromJSON Role Source # 
Instance details

Defined in Language.PureScript.Roles

ToJSON Role Source # 
Instance details

Defined in Language.PureScript.Roles

Generic Role Source # 
Instance details

Defined in Language.PureScript.Roles

Associated Types

type Rep Role :: Type -> Type #

Methods

from :: Role -> Rep Role x #

to :: Rep Role x -> Role #

Show Role Source # 
Instance details

Defined in Language.PureScript.Roles

Methods

showsPrec :: Int -> Role -> ShowS #

show :: Role -> String #

showList :: [Role] -> ShowS #

NFData Role Source # 
Instance details

Defined in Language.PureScript.Roles

Methods

rnf :: Role -> () #

Eq Role Source # 
Instance details

Defined in Language.PureScript.Roles

Methods

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

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

Ord Role Source # 
Instance details

Defined in Language.PureScript.Roles

Methods

compare :: Role -> Role -> Ordering #

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

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

(>) :: Role -> Role -> Bool #

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

max :: Role -> Role -> Role #

min :: Role -> Role -> Role #

Serialise Role Source # 
Instance details

Defined in Language.PureScript.Roles

type Rep Role Source # 
Instance details

Defined in Language.PureScript.Roles

type Rep Role = D1 ('MetaData "Role" "Language.PureScript.Roles" "purescript-0.15.8-4tiSWAb69Er4UfMmbMY7A8" 'False) (C1 ('MetaCons "Nominal" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Representational" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Phantom" 'PrefixI 'False) (U1 :: Type -> Type)))