rewire-embedder-2.8: A ReWire-to-Isabelle embedder
Safe HaskellSafe
LanguageHaskell2010

Embedder.Atmo.Syntax

Synopsis

Documentation

data Module Source #

Constructors

Module ![DataDefn] ![RecDefn] ![TypeSynonym] ![Defn] 

Instances

Instances details
Monoid Module Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Semigroup Module Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Data Module Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Module -> c Module #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Module #

toConstr :: Module -> Constr #

dataTypeOf :: Module -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Module) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Module) #

gmapT :: (forall b. Data b => b -> b) -> Module -> Module #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Module -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Module -> r #

gmapQ :: (forall d. Data d => d -> u) -> Module -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Module -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Module -> m Module #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Module -> m Module #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Module -> m Module #

Generic Module Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

from :: Module -> Rep Module x #

to :: Rep Module x -> Module #

Show Module Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Pretty Module Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: Module -> Doc ann #

prettyList :: [Module] -> Doc ann

type Rep Module Source # 
Instance details

Defined in Embedder.Atmo.Syntax

newtype DataConId Source #

Constructors

DataConId Text 

Instances

Instances details
Data DataConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DataConId -> c DataConId #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DataConId #

toConstr :: DataConId -> Constr #

dataTypeOf :: DataConId -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DataConId) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DataConId) #

gmapT :: (forall b. Data b => b -> b) -> DataConId -> DataConId #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DataConId -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DataConId -> r #

gmapQ :: (forall d. Data d => d -> u) -> DataConId -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DataConId -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DataConId -> m DataConId #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DataConId -> m DataConId #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DataConId -> m DataConId #

Generic DataConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep DataConId 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep DataConId = D1 ('MetaData "DataConId" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "DataConId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Eq DataConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Hashable DataConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep DataConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep DataConId = D1 ('MetaData "DataConId" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "DataConId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

newtype TyConId Source #

Constructors

TyConId Text 

Instances

Instances details
Data TyConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TyConId -> c TyConId #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TyConId #

toConstr :: TyConId -> Constr #

dataTypeOf :: TyConId -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TyConId) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TyConId) #

gmapT :: (forall b. Data b => b -> b) -> TyConId -> TyConId #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TyConId -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TyConId -> r #

gmapQ :: (forall d. Data d => d -> u) -> TyConId -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TyConId -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TyConId -> m TyConId #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TyConId -> m TyConId #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TyConId -> m TyConId #

Generic TyConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep TyConId 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep TyConId = D1 ('MetaData "TyConId" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "TyConId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Methods

from :: TyConId -> Rep TyConId x #

to :: Rep TyConId x -> TyConId #

Eq TyConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Hashable TyConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

hashWithSalt :: Int -> TyConId -> Int

hash :: TyConId -> Int

type Rep TyConId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep TyConId = D1 ('MetaData "TyConId" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "TyConId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data Ty Source #

Instances

Instances details
Data Ty Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ty -> c Ty #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Ty #

toConstr :: Ty -> Constr #

dataTypeOf :: Ty -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Ty) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ty) #

gmapT :: (forall b. Data b => b -> b) -> Ty -> Ty #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r #

gmapQ :: (forall d. Data d => d -> u) -> Ty -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Ty -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ty -> m Ty #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ty -> m Ty #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ty -> m Ty #

Generic Ty Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep Ty 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Ty = D1 ('MetaData "Ty" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) ((C1 ('MetaCons "TyApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Ty) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Ty]))) :+: (C1 ('MetaCons "TyCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "TyVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) :+: (C1 ('MetaCons "TyNat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural)) :+: (C1 ('MetaCons "TyTuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Ty])) :+: C1 ('MetaCons "TyBuiltin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TyBuiltin)))))

Methods

from :: Ty -> Rep Ty x #

to :: Rep Ty x -> Ty #

Show Ty Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

showsPrec :: Int -> Ty -> ShowS #

show :: Ty -> String #

showList :: [Ty] -> ShowS #

Eq Ty Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Ord Ty Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

compare :: Ty -> Ty -> Ordering #

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

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

(>) :: Ty -> Ty -> Bool #

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

max :: Ty -> Ty -> Ty #

min :: Ty -> Ty -> Ty #

Hashable Ty Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

hashWithSalt :: Int -> Ty -> Int

hash :: Ty -> Int

Pretty Ty Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: Ty -> Doc ann #

prettyList :: [Ty] -> Doc ann

Annotated Ty Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

ann :: Ty -> Annote #

type Rep Ty Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Ty = D1 ('MetaData "Ty" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) ((C1 ('MetaCons "TyApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Ty) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Ty]))) :+: (C1 ('MetaCons "TyCon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "TyVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) :+: (C1 ('MetaCons "TyNat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural)) :+: (C1 ('MetaCons "TyTuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Ty])) :+: C1 ('MetaCons "TyBuiltin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TyBuiltin)))))

data TyBuiltin Source #

Type builtins type (+), type GHC.Monad, type GHC.MonadTrans, KnownNat Identity, ReacT, StateT, Vec, Finite, Ref (..), Proxy (..) Maybe, Either, Bool Products?

Primitives Defined Types/Data structs: Monad, MonadTrans, Ref a=Ref String, Proxy (n::Nat)=Proxy Imported Types/Data structs: type(+),type(Nat),Identity, ReacT, StateT, Integer, String, Bool, Vec=Vector, KnownNat, Finite

Instances

Instances details
NFData TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Methods

rnf :: TyBuiltin -> () #

Data TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TyBuiltin -> c TyBuiltin #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TyBuiltin #

toConstr :: TyBuiltin -> Constr #

dataTypeOf :: TyBuiltin -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TyBuiltin) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TyBuiltin) #

gmapT :: (forall b. Data b => b -> b) -> TyBuiltin -> TyBuiltin #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TyBuiltin -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TyBuiltin -> r #

gmapQ :: (forall d. Data d => d -> u) -> TyBuiltin -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TyBuiltin -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TyBuiltin -> m TyBuiltin #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TyBuiltin -> m TyBuiltin #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TyBuiltin -> m TyBuiltin #

Bounded TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Enum TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Generic TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Associated Types

type Rep TyBuiltin 
Instance details

Defined in Embedder.Builtins

type Rep TyBuiltin = D1 ('MetaData "TyBuiltin" "Embedder.Builtins" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) ((((C1 ('MetaCons "TyInteger" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyString" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TyBool" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyUnit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyFun" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TyReacT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyStateT" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TyIdentity" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyState" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyRe" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "TyDev" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyStateDev" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TyS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyProd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyList" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TyVec" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyProxy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyFin" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TyPlus" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyNeg" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyRef" 'PrefixI 'False) (U1 :: Type -> Type))))))
Show TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Eq TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Ord TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Hashable TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Pretty TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

Methods

pretty :: TyBuiltin -> Doc ann #

prettyList :: [TyBuiltin] -> Doc ann

TextShow TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

type Rep TyBuiltin Source # 
Instance details

Defined in Embedder.Builtins

type Rep TyBuiltin = D1 ('MetaData "TyBuiltin" "Embedder.Builtins" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) ((((C1 ('MetaCons "TyInteger" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyString" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TyBool" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyUnit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyFun" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TyReacT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyStateT" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TyIdentity" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyState" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyRe" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "TyDev" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyStateDev" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TyS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyProd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyList" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TyVec" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyProxy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyFin" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TyPlus" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TyNeg" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TyRef" 'PrefixI 'False) (U1 :: Type -> Type))))))

data Poly Source #

Constructors

Poly [Text] Ty 

Instances

Instances details
Data Poly Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Poly -> c Poly #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Poly #

toConstr :: Poly -> Constr #

dataTypeOf :: Poly -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Poly) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Poly) #

gmapT :: (forall b. Data b => b -> b) -> Poly -> Poly #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Poly -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Poly -> r #

gmapQ :: (forall d. Data d => d -> u) -> Poly -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Poly -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Poly -> m Poly #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Poly -> m Poly #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Poly -> m Poly #

Generic Poly Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep Poly 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Poly = D1 ('MetaData "Poly" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "Poly" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ty)))

Methods

from :: Poly -> Rep Poly x #

to :: Rep Poly x -> Poly #

Show Poly Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

showsPrec :: Int -> Poly -> ShowS #

show :: Poly -> String #

showList :: [Poly] -> ShowS #

Eq Poly Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Hashable Poly Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

hashWithSalt :: Int -> Poly -> Int

hash :: Poly -> Int

Pretty Poly Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: Poly -> Doc ann #

prettyList :: [Poly] -> Doc ann

type Rep Poly Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Poly = D1 ('MetaData "Poly" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "Poly" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ty)))

data Exp Source #

Instances

Instances details
Data Exp Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Exp -> c Exp #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Exp #

toConstr :: Exp -> Constr #

dataTypeOf :: Exp -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Exp) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Exp) #

gmapT :: (forall b. Data b => b -> b) -> Exp -> Exp #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r #

gmapQ :: (forall d. Data d => d -> u) -> Exp -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Exp -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Exp -> m Exp #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp #

Generic Exp Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep Exp 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Exp = D1 ('MetaData "Exp" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) ((((C1 ('MetaCons "App" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Exp])))) :+: C1 ('MetaCons "Lam" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp))))) :+: (C1 ('MetaCons "Var" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))) :+: C1 ('MetaCons "Con" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))))) :+: ((C1 ('MetaCons "Case" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [PatBind])))) :+: C1 ('MetaCons "RWUser" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RWUserOp)))) :+: (C1 ('MetaCons "LitInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer))) :+: C1 ('MetaCons "LitStr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))))) :+: (((C1 ('MetaCons "LitVec" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Exp]))) :+: C1 ('MetaCons "LitList" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Exp])))) :+: (C1 ('MetaCons "Tuple" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Exp]))) :+: C1 ('MetaCons "If" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp)))))) :+: ((C1 ('MetaCons "Let" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [PatBind]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp)))) :+: C1 ('MetaCons "RecVal" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [(Text, Exp)])))) :+: (C1 ('MetaCons "RecSel" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))) :+: C1 ('MetaCons "RecUpd" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [(Text, Exp)]))))))))

Methods

from :: Exp -> Rep Exp x #

to :: Rep Exp x -> Exp #

Show Exp Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

showsPrec :: Int -> Exp -> ShowS #

show :: Exp -> String #

showList :: [Exp] -> ShowS #

Eq Exp Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Hashable Exp Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

hashWithSalt :: Int -> Exp -> Int

hash :: Exp -> Int

Pretty Exp Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: Exp -> Doc ann #

prettyList :: [Exp] -> Doc ann

Annotated Exp Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

ann :: Exp -> Annote #

TypeAnnotated Exp Source # 
Instance details

Defined in Embedder.Atmo.Types

type Rep Exp Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Exp = D1 ('MetaData "Exp" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) ((((C1 ('MetaCons "App" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Exp])))) :+: C1 ('MetaCons "Lam" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp))))) :+: (C1 ('MetaCons "Var" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))) :+: C1 ('MetaCons "Con" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))))) :+: ((C1 ('MetaCons "Case" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [PatBind])))) :+: C1 ('MetaCons "RWUser" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RWUserOp)))) :+: (C1 ('MetaCons "LitInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer))) :+: C1 ('MetaCons "LitStr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))))) :+: (((C1 ('MetaCons "LitVec" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Exp]))) :+: C1 ('MetaCons "LitList" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Exp])))) :+: (C1 ('MetaCons "Tuple" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Exp]))) :+: C1 ('MetaCons "If" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp)))))) :+: ((C1 ('MetaCons "Let" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [PatBind]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp)))) :+: C1 ('MetaCons "RecVal" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [(Text, Exp)])))) :+: (C1 ('MetaCons "RecSel" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))) :+: C1 ('MetaCons "RecUpd" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [(Text, Exp)]))))))))

data Pat Source #

Constructors

PatCon Annote !(Maybe Poly) !(Maybe Ty) !Text ![Pat] 
PatVar Annote !(Maybe Poly) !(Maybe Ty) !Text 
PatWildCard Annote !(Maybe Poly) !(Maybe Ty) 
PatTuple Annote !(Maybe Poly) !(Maybe Ty) ![Pat] 
PatAs Annote !(Maybe Poly) !(Maybe Ty) !Text !Pat

should only appear in FunBindings

PatRec Annote !(Maybe Poly) !(Maybe Ty) ![(Text, Pat)] 

Instances

Instances details
Data Pat Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Pat -> c Pat #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Pat #

toConstr :: Pat -> Constr #

dataTypeOf :: Pat -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Pat) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Pat) #

gmapT :: (forall b. Data b => b -> b) -> Pat -> Pat #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pat -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pat -> r #

gmapQ :: (forall d. Data d => d -> u) -> Pat -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Pat -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pat -> m Pat #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pat -> m Pat #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pat -> m Pat #

Generic Pat Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep Pat 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Pat = D1 ('MetaData "Pat" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) ((C1 ('MetaCons "PatCon" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Pat])))) :+: (C1 ('MetaCons "PatVar" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))) :+: C1 ('MetaCons "PatWildCard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)))))) :+: (C1 ('MetaCons "PatTuple" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Pat]))) :+: (C1 ('MetaCons "PatAs" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Pat)))) :+: C1 ('MetaCons "PatRec" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [(Text, Pat)]))))))

Methods

from :: Pat -> Rep Pat x #

to :: Rep Pat x -> Pat #

Show Pat Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

showsPrec :: Int -> Pat -> ShowS #

show :: Pat -> String #

showList :: [Pat] -> ShowS #

Eq Pat Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Hashable Pat Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

hashWithSalt :: Int -> Pat -> Int

hash :: Pat -> Int

Pretty Pat Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: Pat -> Doc ann #

prettyList :: [Pat] -> Doc ann

Annotated Pat Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

ann :: Pat -> Annote #

TypeAnnotated Pat Source # 
Instance details

Defined in Embedder.Atmo.Types

type Rep Pat Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Pat = D1 ('MetaData "Pat" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) ((C1 ('MetaCons "PatCon" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Pat])))) :+: (C1 ('MetaCons "PatVar" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))) :+: C1 ('MetaCons "PatWildCard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)))))) :+: (C1 ('MetaCons "PatTuple" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Pat]))) :+: (C1 ('MetaCons "PatAs" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Pat)))) :+: C1 ('MetaCons "PatRec" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Poly))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Ty)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [(Text, Pat)]))))))

data Defn Source #

Constructors

Defn 

Instances

Instances details
Data Defn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Defn -> c Defn #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Defn #

toConstr :: Defn -> Constr #

dataTypeOf :: Defn -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Defn) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Defn) #

gmapT :: (forall b. Data b => b -> b) -> Defn -> Defn #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Defn -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Defn -> r #

gmapQ :: (forall d. Data d => d -> u) -> Defn -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Defn -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Defn -> m Defn #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Defn -> m Defn #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Defn -> m Defn #

Generic Defn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep Defn 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Defn = D1 ('MetaData "Defn" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "Defn" 'PrefixI 'True) ((S1 ('MetaSel ('Just "defnAnnote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Just "defnName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "defnPolyTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Poly) :*: (S1 ('MetaSel ('Just "defnAttr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe DefnAttr)) :*: S1 ('MetaSel ('Just "defnBinds") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [FunBinding])))))

Methods

from :: Defn -> Rep Defn x #

to :: Rep Defn x -> Defn #

Show Defn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

showsPrec :: Int -> Defn -> ShowS #

show :: Defn -> String #

showList :: [Defn] -> ShowS #

Eq Defn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Hashable Defn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

hashWithSalt :: Int -> Defn -> Int

hash :: Defn -> Int

Pretty Defn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: Defn -> Doc ann #

prettyList :: [Defn] -> Doc ann

Annotated Defn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

ann :: Defn -> Annote #

type Rep Defn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Defn = D1 ('MetaData "Defn" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "Defn" 'PrefixI 'True) ((S1 ('MetaSel ('Just "defnAnnote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Just "defnName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "defnPolyTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Poly) :*: (S1 ('MetaSel ('Just "defnAttr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe DefnAttr)) :*: S1 ('MetaSel ('Just "defnBinds") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [FunBinding])))))

data DefnAttr Source #

Constructors

Inline 
NoInline 

Instances

Instances details
Data DefnAttr Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DefnAttr -> c DefnAttr #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DefnAttr #

toConstr :: DefnAttr -> Constr #

dataTypeOf :: DefnAttr -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DefnAttr) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DefnAttr) #

gmapT :: (forall b. Data b => b -> b) -> DefnAttr -> DefnAttr #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DefnAttr -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DefnAttr -> r #

gmapQ :: (forall d. Data d => d -> u) -> DefnAttr -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DefnAttr -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DefnAttr -> m DefnAttr #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DefnAttr -> m DefnAttr #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DefnAttr -> m DefnAttr #

Generic DefnAttr Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep DefnAttr 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep DefnAttr = D1 ('MetaData "DefnAttr" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "Inline" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoInline" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: DefnAttr -> Rep DefnAttr x #

to :: Rep DefnAttr x -> DefnAttr #

Show DefnAttr Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Eq DefnAttr Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Hashable DefnAttr Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep DefnAttr Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep DefnAttr = D1 ('MetaData "DefnAttr" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "Inline" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoInline" 'PrefixI 'False) (U1 :: Type -> Type))

data DataDefn Source #

Constructors

DataDefn 

Fields

Instances

Instances details
Data DataDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DataDefn -> c DataDefn #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DataDefn #

toConstr :: DataDefn -> Constr #

dataTypeOf :: DataDefn -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DataDefn) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DataDefn) #

gmapT :: (forall b. Data b => b -> b) -> DataDefn -> DataDefn #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DataDefn -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DataDefn -> r #

gmapQ :: (forall d. Data d => d -> u) -> DataDefn -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DataDefn -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DataDefn -> m DataDefn #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DataDefn -> m DataDefn #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DataDefn -> m DataDefn #

Generic DataDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep DataDefn 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep DataDefn = D1 ('MetaData "DataDefn" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "DataDefn" 'PrefixI 'True) ((S1 ('MetaSel ('Just "dataAnnote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Just "dataName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "dataVars") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text]) :*: S1 ('MetaSel ('Just "dataCons") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [DataCon]))))

Methods

from :: DataDefn -> Rep DataDefn x #

to :: Rep DataDefn x -> DataDefn #

Show DataDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Eq DataDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Pretty DataDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: DataDefn -> Doc ann #

prettyList :: [DataDefn] -> Doc ann

Annotated DataDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

ann :: DataDefn -> Annote #

type Rep DataDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep DataDefn = D1 ('MetaData "DataDefn" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "DataDefn" 'PrefixI 'True) ((S1 ('MetaSel ('Just "dataAnnote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Just "dataName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "dataVars") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text]) :*: S1 ('MetaSel ('Just "dataCons") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [DataCon]))))

data RecDefn Source #

Constructors

RecDefn 

Fields

Instances

Instances details
Data RecDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RecDefn -> c RecDefn #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RecDefn #

toConstr :: RecDefn -> Constr #

dataTypeOf :: RecDefn -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RecDefn) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RecDefn) #

gmapT :: (forall b. Data b => b -> b) -> RecDefn -> RecDefn #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RecDefn -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RecDefn -> r #

gmapQ :: (forall d. Data d => d -> u) -> RecDefn -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RecDefn -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RecDefn -> m RecDefn #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RecDefn -> m RecDefn #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RecDefn -> m RecDefn #

Generic RecDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep RecDefn 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep RecDefn = D1 ('MetaData "RecDefn" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "RecDefn" 'PrefixI 'True) ((S1 ('MetaSel ('Just "recAnnote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Just "recName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "recVars") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text]) :*: (S1 ('MetaSel ('Just "recPoly") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Poly) :*: S1 ('MetaSel ('Just "recFields") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [(Text, Ty)])))))

Methods

from :: RecDefn -> Rep RecDefn x #

to :: Rep RecDefn x -> RecDefn #

Show RecDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Eq RecDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Pretty RecDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: RecDefn -> Doc ann #

prettyList :: [RecDefn] -> Doc ann

Annotated RecDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

ann :: RecDefn -> Annote #

type Rep RecDefn Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep RecDefn = D1 ('MetaData "RecDefn" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "RecDefn" 'PrefixI 'True) ((S1 ('MetaSel ('Just "recAnnote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: S1 ('MetaSel ('Just "recName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "recVars") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text]) :*: (S1 ('MetaSel ('Just "recPoly") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Poly) :*: S1 ('MetaSel ('Just "recFields") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [(Text, Ty)])))))

data TypeSynonym Source #

Constructors

TypeSynonym 

Instances

Instances details
Data TypeSynonym Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeSynonym -> c TypeSynonym #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeSynonym #

toConstr :: TypeSynonym -> Constr #

dataTypeOf :: TypeSynonym -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeSynonym) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeSynonym) #

gmapT :: (forall b. Data b => b -> b) -> TypeSynonym -> TypeSynonym #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeSynonym -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeSynonym -> r #

gmapQ :: (forall d. Data d => d -> u) -> TypeSynonym -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeSynonym -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeSynonym -> m TypeSynonym #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeSynonym -> m TypeSynonym #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeSynonym -> m TypeSynonym #

Generic TypeSynonym Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep TypeSynonym 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep TypeSynonym = D1 ('MetaData "TypeSynonym" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "TypeSynonym" 'PrefixI 'True) (S1 ('MetaSel ('Just "typeSynAnnote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Just "typeSynName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "typeSynType") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Poly))))
Show TypeSynonym Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Eq TypeSynonym Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Hashable TypeSynonym Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Pretty TypeSynonym Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: TypeSynonym -> Doc ann #

prettyList :: [TypeSynonym] -> Doc ann

Annotated TypeSynonym Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

ann :: TypeSynonym -> Annote #

type Rep TypeSynonym Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep TypeSynonym = D1 ('MetaData "TypeSynonym" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "TypeSynonym" 'PrefixI 'True) (S1 ('MetaSel ('Just "typeSynAnnote") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Just "typeSynName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "typeSynType") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Poly))))

data DataCon Source #

Constructors

DataCon Annote !Text !Poly 

Instances

Instances details
Data DataCon Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DataCon -> c DataCon #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DataCon #

toConstr :: DataCon -> Constr #

dataTypeOf :: DataCon -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DataCon) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DataCon) #

gmapT :: (forall b. Data b => b -> b) -> DataCon -> DataCon #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DataCon -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DataCon -> r #

gmapQ :: (forall d. Data d => d -> u) -> DataCon -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DataCon -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DataCon -> m DataCon #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DataCon -> m DataCon #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DataCon -> m DataCon #

Generic DataCon Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep DataCon 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

from :: DataCon -> Rep DataCon x #

to :: Rep DataCon x -> DataCon #

Show DataCon Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Eq DataCon Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Pretty DataCon Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: DataCon -> Doc ann #

prettyList :: [DataCon] -> Doc ann

Annotated DataCon Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

ann :: DataCon -> Annote #

type Rep DataCon Source # 
Instance details

Defined in Embedder.Atmo.Syntax

newtype Program Source #

Constructors

Program ([DataDefn], [RecDefn], [TypeSynonym], [Defn]) 

Instances

Instances details
Generic Program Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep Program 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Program = D1 ('MetaData "Program" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "Program" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ([DataDefn], [RecDefn], [TypeSynonym], [Defn]))))

Methods

from :: Program -> Rep Program x #

to :: Rep Program x -> Program #

Show Program Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Pretty Program Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: Program -> Doc ann #

prettyList :: [Program] -> Doc ann

type Rep Program Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Program = D1 ('MetaData "Program" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "Program" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ([DataDefn], [RecDefn], [TypeSynonym], [Defn]))))

data FieldId Source #

Instances

Instances details
Data FieldId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldId -> c FieldId #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FieldId #

toConstr :: FieldId -> Constr #

dataTypeOf :: FieldId -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FieldId) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FieldId) #

gmapT :: (forall b. Data b => b -> b) -> FieldId -> FieldId #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldId -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldId -> r #

gmapQ :: (forall d. Data d => d -> u) -> FieldId -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldId -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldId -> m FieldId #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldId -> m FieldId #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldId -> m FieldId #

Generic FieldId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep FieldId 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep FieldId = D1 ('MetaData "FieldId" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "FieldId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Methods

from :: FieldId -> Rep FieldId x #

to :: Rep FieldId x -> FieldId #

Eq FieldId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Hashable FieldId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

hashWithSalt :: Int -> FieldId -> Int

hash :: FieldId -> Int

type Rep FieldId Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep FieldId = D1 ('MetaData "FieldId" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "FieldId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

type DataHeader = (Text, [Text]) Source #

this is just a synonym for the dataName and dataVars of a DataDefn

type RecHeader = (Text, [Text]) Source #

this is just a synonym for the dataName and dataVars of a DataDefn

newtype Binds Source #

Constructors

BDefs [Defn] 

Instances

Instances details
Data Binds Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Binds -> c Binds #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Binds #

toConstr :: Binds -> Constr #

dataTypeOf :: Binds -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Binds) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Binds) #

gmapT :: (forall b. Data b => b -> b) -> Binds -> Binds #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Binds -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Binds -> r #

gmapQ :: (forall d. Data d => d -> u) -> Binds -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Binds -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Binds -> m Binds #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Binds -> m Binds #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Binds -> m Binds #

Generic Binds Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep Binds 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Binds = D1 ('MetaData "Binds" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "BDefs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Defn])))

Methods

from :: Binds -> Rep Binds x #

to :: Rep Binds x -> Binds #

Show Binds Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

showsPrec :: Int -> Binds -> ShowS #

show :: Binds -> String #

showList :: [Binds] -> ShowS #

Eq Binds Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Hashable Binds Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

hashWithSalt :: Int -> Binds -> Int

hash :: Binds -> Int

type Rep Binds Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep Binds = D1 ('MetaData "Binds" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'True) (C1 ('MetaCons "BDefs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Defn])))

data PatBind Source #

Constructors

PatBind Pat Exp 

Instances

Instances details
Data PatBind Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PatBind -> c PatBind #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PatBind #

toConstr :: PatBind -> Constr #

dataTypeOf :: PatBind -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PatBind) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PatBind) #

gmapT :: (forall b. Data b => b -> b) -> PatBind -> PatBind #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PatBind -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PatBind -> r #

gmapQ :: (forall d. Data d => d -> u) -> PatBind -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PatBind -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PatBind -> m PatBind #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PatBind -> m PatBind #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PatBind -> m PatBind #

Generic PatBind Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep PatBind 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep PatBind = D1 ('MetaData "PatBind" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "PatBind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))

Methods

from :: PatBind -> Rep PatBind x #

to :: Rep PatBind x -> PatBind #

Show PatBind Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Eq PatBind Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

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

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

Hashable PatBind Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

hashWithSalt :: Int -> PatBind -> Int

hash :: PatBind -> Int

Pretty PatBind Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: PatBind -> Doc ann #

prettyList :: [PatBind] -> Doc ann

type Rep PatBind Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep PatBind = D1 ('MetaData "PatBind" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "PatBind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pat) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))

data FunBinding Source #

Constructors

FunBinding Annote ![Pat] !Exp 

Instances

Instances details
Data FunBinding Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FunBinding -> c FunBinding #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FunBinding #

toConstr :: FunBinding -> Constr #

dataTypeOf :: FunBinding -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FunBinding) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FunBinding) #

gmapT :: (forall b. Data b => b -> b) -> FunBinding -> FunBinding #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FunBinding -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FunBinding -> r #

gmapQ :: (forall d. Data d => d -> u) -> FunBinding -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FunBinding -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FunBinding -> m FunBinding #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FunBinding -> m FunBinding #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FunBinding -> m FunBinding #

Generic FunBinding Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Associated Types

type Rep FunBinding 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep FunBinding = D1 ('MetaData "FunBinding" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "FunBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Pat]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp))))
Show FunBinding Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Eq FunBinding Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Hashable FunBinding Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Pretty FunBinding Source # 
Instance details

Defined in Embedder.Atmo.Syntax

Methods

pretty :: FunBinding -> Doc ann #

prettyList :: [FunBinding] -> Doc ann

type Rep FunBinding Source # 
Instance details

Defined in Embedder.Atmo.Syntax

type Rep FunBinding = D1 ('MetaData "FunBinding" "Embedder.Atmo.Syntax" "rewire-embedder-2.8-G94ytt72LAgDf9UAeQPb84" 'False) (C1 ('MetaCons "FunBinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Annote) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Pat]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Exp))))

untype :: Data d => d -> d Source #