purescript-ast-0.1.1.0: PureScript Programming Language Abstract Syntax Tree
Safe HaskellNone
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
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 #

Show Role Source # 
Instance details

Defined in Language.PureScript.Roles

Methods

showsPrec :: Int -> Role -> ShowS #

show :: Role -> String #

showList :: [Role] -> ShowS #

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 #

ToJSON Role Source # 
Instance details

Defined in Language.PureScript.Roles

FromJSON Role Source # 
Instance details

Defined in Language.PureScript.Roles

NFData Role Source # 
Instance details

Defined in Language.PureScript.Roles

Methods

rnf :: 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-ast-0.1.1.0-GLW6QEKazq2LhbbklNgI7y" '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)))