apple-0.3.0.0: Apple array language compiler
Safe HaskellSafe-Inferred
LanguageHaskell2010

A

Description

AST

Documentation

data T a Source #

Constructors

Arr (Sh a) (T a) 
F 
I

double

B

int

Li (I a)

bool

TVar (Nm a) 
Arrow (T a) (T a)

Kind \(*\)

P [T a] 
Ρ (TyNm a) (IntMap (T a)) 

Instances

Instances details
Functor T Source # 
Instance details

Defined in A

Methods

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

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

PS (T a) Source # 
Instance details

Defined in A

Methods

ps :: Int -> T a -> Doc ann Source #

NFData a => NFData (T a) Source # 
Instance details

Defined in A

Methods

rnf :: T a -> () #

Generic (T a) Source # 
Instance details

Defined in A

Associated Types

type Rep (T a) 
Instance details

Defined in A

type Rep (T a) = D1 ('MetaData "T" "A" "apple-0.3.0.0-inplace" 'False) (((C1 ('MetaCons "Arr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Sh a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (T a))) :+: C1 ('MetaCons "F" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "I" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "B" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Li" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (I a))) :+: C1 ('MetaCons "TVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a)))) :+: (C1 ('MetaCons "Arrow" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (T a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (T a))) :+: (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [T a])) :+: C1 ('MetaCons "\929" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TyNm a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IntMap (T a))))))))

Methods

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

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

Show (T a) Source # 
Instance details

Defined in A

Methods

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

show :: T a -> String #

showList :: [T a] -> ShowS #

Pretty (T a) Source # 
Instance details

Defined in A

Methods

pretty :: T a -> Doc ann #

prettyList :: [T a] -> Doc ann #

type Rep (T a) Source # 
Instance details

Defined in A

type Rep (T a) = D1 ('MetaData "T" "A" "apple-0.3.0.0-inplace" 'False) (((C1 ('MetaCons "Arr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Sh a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (T a))) :+: C1 ('MetaCons "F" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "I" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "B" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Li" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (I a))) :+: C1 ('MetaCons "TVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a)))) :+: (C1 ('MetaCons "Arrow" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (T a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (T a))) :+: (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [T a])) :+: C1 ('MetaCons "\929" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TyNm a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IntMap (T a))))))))

(~>) :: T a -> T a -> T a infixr 0 Source #

data I a Source #

Constructors

Ix 

Fields

IVar 

Fields

IEVar 

Fields

StaPlus 

Fields

StaMul 

Fields

Instances

Instances details
Functor I Source # 
Instance details

Defined in A

Methods

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

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

PS (I a) Source # 
Instance details

Defined in A

Methods

ps :: Int -> I a -> Doc ann Source #

NFData a => NFData (I a) Source # 
Instance details

Defined in A

Methods

rnf :: I a -> () #

Generic (I a) Source # 
Instance details

Defined in A

Associated Types

type Rep (I a) 
Instance details

Defined in A

Methods

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

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

Show (I a) Source # 
Instance details

Defined in A

Methods

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

show :: I a -> String #

showList :: [I a] -> ShowS #

Pretty (I a) Source # 
Instance details

Defined in A

Methods

pretty :: I a -> Doc ann #

prettyList :: [I a] -> Doc ann #

type Rep (I a) Source # 
Instance details

Defined in A

data Sh a Source #

Constructors

Nil 
SVar (Nm a) 
Cons (I a) (Sh a) infixr 8 
Rev (Sh a) 
Cat (Sh a) (Sh a) 
Π (Sh a) 

Instances

Instances details
Functor Sh Source # 
Instance details

Defined in A

Methods

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

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

PS (Sh a) Source # 
Instance details

Defined in A

Methods

ps :: Int -> Sh a -> Doc ann Source #

NFData a => NFData (Sh a) Source # 
Instance details

Defined in A

Methods

rnf :: Sh a -> () #

Generic (Sh a) Source # 
Instance details

Defined in A

Methods

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

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

Show (Sh a) Source # 
Instance details

Defined in A

Methods

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

show :: Sh a -> String #

showList :: [Sh a] -> ShowS #

Pretty (Sh a) Source # 
Instance details

Defined in A

Methods

pretty :: Sh a -> Doc ann #

prettyList :: [Sh a] -> Doc ann #

type Rep (Sh a) Source # 
Instance details

Defined in A

data C Source #

Constructors

IsNum 
IsOrd 
IsEq 
HasBits 

Instances

Instances details
NFData C Source # 
Instance details

Defined in A

Methods

rnf :: C -> () #

Generic C Source # 
Instance details

Defined in A

Associated Types

type Rep C 
Instance details

Defined in A

type Rep C = D1 ('MetaData "C" "A" "apple-0.3.0.0-inplace" 'False) ((C1 ('MetaCons "IsNum" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsOrd" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IsEq" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HasBits" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: C -> Rep C x #

to :: Rep C x -> C #

Show C Source # 
Instance details

Defined in A

Methods

showsPrec :: Int -> C -> ShowS #

show :: C -> String #

showList :: [C] -> ShowS #

Eq C Source # 
Instance details

Defined in A

Methods

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

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

Ord C Source # 
Instance details

Defined in A

Methods

compare :: C -> C -> Ordering #

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

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

(>) :: C -> C -> Bool #

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

max :: C -> C -> C #

min :: C -> C -> C #

Pretty C Source # 
Instance details

Defined in A

Methods

pretty :: C -> Doc ann #

prettyList :: [C] -> Doc ann #

type Rep C Source # 
Instance details

Defined in A

type Rep C = D1 ('MetaData "C" "A" "apple-0.3.0.0-inplace" 'False) ((C1 ('MetaCons "IsNum" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsOrd" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IsEq" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HasBits" 'PrefixI 'False) (U1 :: Type -> Type)))

data E a Source #

Constructors

ALit 

Fields

Var 

Fields

Builtin 

Fields

EApp 

Fields

Lam 

Fields

ILit 

Fields

FLit 

Fields

BLit 

Fields

Cond 

Fields

Let 

Fields

Def 

Fields

LLet 

Fields

Dfn 

Fields

ResVar 

Fields

Parens 

Fields

Ann 

Fields

Tup 

Fields

Id 

Fields

Instances

Instances details
Functor E Source # 
Instance details

Defined in A

Methods

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

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

PS (E a) Source # 
Instance details

Defined in A

Methods

ps :: Int -> E a -> Doc ann Source #

NFData a => NFData (E a) Source # 
Instance details

Defined in A

Methods

rnf :: E a -> () #

Generic (E a) Source # 
Instance details

Defined in A

Associated Types

type Rep (E a) 
Instance details

Defined in A

type Rep (E a) = D1 ('MetaData "E" "A" "apple-0.3.0.0-inplace" 'False) ((((C1 ('MetaCons "ALit" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "arrLit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E a])) :+: C1 ('MetaCons "Var" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eVar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a)))) :+: (C1 ('MetaCons "Builtin" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eBuiltin") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Builtin)) :+: C1 ('MetaCons "EApp" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eF") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)) :*: S1 ('MetaSel ('Just "eArg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))))) :+: ((C1 ('MetaCons "Lam" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eVar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a)) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))) :+: C1 ('MetaCons "ILit" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eILit") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer))) :+: (C1 ('MetaCons "FLit" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eFLit") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Double)) :+: (C1 ('MetaCons "BLit" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eBLit") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :+: C1 ('MetaCons "Cond" 'PrefixI 'True) ((S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "prop") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a))) :*: (S1 ('MetaSel ('Just "ifBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)) :*: S1 ('MetaSel ('Just "elseBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))))))) :+: (((C1 ('MetaCons "Let" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eBnd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a, E a)) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))) :+: C1 ('MetaCons "Def" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eBnd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a, E a)) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a))))) :+: (C1 ('MetaCons "LLet" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eBnd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a, E a)) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))) :+: C1 ('MetaCons "Dfn" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a))))) :+: ((C1 ('MetaCons "ResVar" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eXY") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResVar)) :+: C1 ('MetaCons "Parens" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eExp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))) :+: (C1 ('MetaCons "Ann" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eEe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)) :*: S1 ('MetaSel ('Just "eTy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (T a)))) :+: (C1 ('MetaCons "Tup" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eEs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E a])) :+: C1 ('MetaCons "Id" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eIdiom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Idiom)))))))

Methods

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

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

Show (E a) Source # 
Instance details

Defined in A

Methods

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

show :: E a -> String #

showList :: [E a] -> ShowS #

Pretty (E a) Source # 
Instance details

Defined in A

Methods

pretty :: E a -> Doc ann #

prettyList :: [E a] -> Doc ann #

type Rep (E a) Source # 
Instance details

Defined in A

type Rep (E a) = D1 ('MetaData "E" "A" "apple-0.3.0.0-inplace" 'False) ((((C1 ('MetaCons "ALit" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "arrLit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E a])) :+: C1 ('MetaCons "Var" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eVar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a)))) :+: (C1 ('MetaCons "Builtin" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eBuiltin") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Builtin)) :+: C1 ('MetaCons "EApp" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eF") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)) :*: S1 ('MetaSel ('Just "eArg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))))) :+: ((C1 ('MetaCons "Lam" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eVar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a)) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))) :+: C1 ('MetaCons "ILit" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eILit") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer))) :+: (C1 ('MetaCons "FLit" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eFLit") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Double)) :+: (C1 ('MetaCons "BLit" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eBLit") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :+: C1 ('MetaCons "Cond" 'PrefixI 'True) ((S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "prop") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a))) :*: (S1 ('MetaSel ('Just "ifBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)) :*: S1 ('MetaSel ('Just "elseBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))))))) :+: (((C1 ('MetaCons "Let" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eBnd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a, E a)) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))) :+: C1 ('MetaCons "Def" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eBnd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a, E a)) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a))))) :+: (C1 ('MetaCons "LLet" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eBnd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Nm a, E a)) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))) :+: C1 ('MetaCons "Dfn" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eIn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a))))) :+: ((C1 ('MetaCons "ResVar" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eXY") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResVar)) :+: C1 ('MetaCons "Parens" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eExp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)))) :+: (C1 ('MetaCons "Ann" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "eEe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E a)) :*: S1 ('MetaSel ('Just "eTy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (T a)))) :+: (C1 ('MetaCons "Tup" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eEs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E a])) :+: C1 ('MetaCons "Id" 'PrefixI 'True) (S1 ('MetaSel ('Just "eAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "eIdiom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Idiom)))))))

data Idiom Source #

Constructors

FoldSOfZip 

Fields

FoldOfZip 

Fields

FoldGen 

Fields

AShLit 

Fields

Instances

Instances details
NFData Idiom Source # 
Instance details

Defined in A

Methods

rnf :: Idiom -> () #

Generic Idiom Source # 
Instance details

Defined in A

Associated Types

type Rep Idiom 
Instance details

Defined in A

type Rep Idiom = D1 ('MetaData "Idiom" "A" "apple-0.3.0.0-inplace" 'False) ((C1 ('MetaCons "FoldSOfZip" 'PrefixI 'True) (S1 ('MetaSel ('Just "seedI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: (S1 ('MetaSel ('Just "opI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: S1 ('MetaSel ('Just "esI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E (T ())]))) :+: C1 ('MetaCons "FoldOfZip" 'PrefixI 'True) (S1 ('MetaSel ('Just "zopI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: (S1 ('MetaSel ('Just "opI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: S1 ('MetaSel ('Just "esI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E (T ())])))) :+: (C1 ('MetaCons "FoldGen" 'PrefixI 'True) ((S1 ('MetaSel ('Just "seedG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: S1 ('MetaSel ('Just "ufG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ())))) :*: (S1 ('MetaSel ('Just "fG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: S1 ('MetaSel ('Just "nG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))))) :+: C1 ('MetaCons "AShLit" 'PrefixI 'True) (S1 ('MetaSel ('Just "litSh") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]) :*: S1 ('MetaSel ('Just "esLit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E (T ())]))))

Methods

from :: Idiom -> Rep Idiom x #

to :: Rep Idiom x -> Idiom #

Show Idiom Source # 
Instance details

Defined in A

Methods

showsPrec :: Int -> Idiom -> ShowS #

show :: Idiom -> String #

showList :: [Idiom] -> ShowS #

Pretty Idiom Source # 
Instance details

Defined in A

Methods

pretty :: Idiom -> Doc ann #

prettyList :: [Idiom] -> Doc ann #

type Rep Idiom Source # 
Instance details

Defined in A

type Rep Idiom = D1 ('MetaData "Idiom" "A" "apple-0.3.0.0-inplace" 'False) ((C1 ('MetaCons "FoldSOfZip" 'PrefixI 'True) (S1 ('MetaSel ('Just "seedI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: (S1 ('MetaSel ('Just "opI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: S1 ('MetaSel ('Just "esI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E (T ())]))) :+: C1 ('MetaCons "FoldOfZip" 'PrefixI 'True) (S1 ('MetaSel ('Just "zopI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: (S1 ('MetaSel ('Just "opI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: S1 ('MetaSel ('Just "esI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E (T ())])))) :+: (C1 ('MetaCons "FoldGen" 'PrefixI 'True) ((S1 ('MetaSel ('Just "seedG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: S1 ('MetaSel ('Just "ufG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ())))) :*: (S1 ('MetaSel ('Just "fG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))) :*: S1 ('MetaSel ('Just "nG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (E (T ()))))) :+: C1 ('MetaCons "AShLit" 'PrefixI 'True) (S1 ('MetaSel ('Just "litSh") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]) :*: S1 ('MetaSel ('Just "esLit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [E (T ())]))))

data Builtin Source #

Instances

Instances details
NFData Builtin Source # 
Instance details

Defined in A

Methods

rnf :: Builtin -> () #

Generic Builtin Source # 
Instance details

Defined in A

Associated Types

type Rep Builtin 
Instance details

Defined in A

type Rep Builtin = D1 ('MetaData "Builtin" "A" "apple-0.3.0.0-inplace" 'False) ((((((C1 ('MetaCons "Plus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Minus" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Times" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Div" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IntExp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Exp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Log" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Eq" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Neq" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gt" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Lt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gte" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Lte" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CatE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IDiv" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Mod" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Max" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Min" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Neg" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sqrt" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "T" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Di" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Flat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AddDim" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ices" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Filt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Eye" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IRange" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FRange" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Map" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "FoldA" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Zip" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Rank" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Int, Maybe [Int])])) :+: (C1 ('MetaCons "Fold" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FoldS" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Foldl" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Floor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ItoF" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Iter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Scan" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ScanS" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "Size" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Dim" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Re" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Gen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Fib" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Succ" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int))) :+: (C1 ('MetaCons "Conv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int])) :+: (C1 ('MetaCons "TAt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "Last" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "LastM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConsE" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Snoc" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Mul" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VMul" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Outer" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "R" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Head" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HeadM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Tail" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Init" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RevE" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TailM" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InitM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sin" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Cos" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Rot" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Tan" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Cyc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "A1" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Even" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Odd" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IOf" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Abs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "And" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Or" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Xor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "N" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Sr" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Sl" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "C" 'PrefixI 'False) (U1 :: Type -> Type))))))))

Methods

from :: Builtin -> Rep Builtin x #

to :: Rep Builtin x -> Builtin #

Pretty Builtin Source # 
Instance details

Defined in A

Methods

pretty :: Builtin -> Doc ann #

prettyList :: [Builtin] -> Doc ann #

type Rep Builtin Source # 
Instance details

Defined in A

type Rep Builtin = D1 ('MetaData "Builtin" "A" "apple-0.3.0.0-inplace" 'False) ((((((C1 ('MetaCons "Plus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Minus" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Times" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Div" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IntExp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Exp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Log" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Eq" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Neq" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gt" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Lt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gte" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Lte" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CatE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IDiv" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Mod" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Max" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Min" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Neg" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sqrt" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "T" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Di" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Flat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AddDim" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ices" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Filt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Eye" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IRange" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FRange" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Map" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "FoldA" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Zip" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Rank" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Int, Maybe [Int])])) :+: (C1 ('MetaCons "Fold" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FoldS" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Foldl" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Floor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ItoF" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Iter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Scan" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ScanS" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "Size" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Dim" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Re" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Gen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Fib" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Succ" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int))) :+: (C1 ('MetaCons "Conv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int])) :+: (C1 ('MetaCons "TAt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "Last" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "LastM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConsE" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Snoc" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Mul" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VMul" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Outer" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "R" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Head" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HeadM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Tail" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Init" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RevE" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TailM" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InitM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sin" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Cos" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Rot" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Tan" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Cyc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "A1" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Even" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Odd" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IOf" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Abs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "And" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Or" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Xor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "N" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Sr" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Sl" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "C" 'PrefixI 'False) (U1 :: Type -> Type))))))))

data ResVar Source #

Constructors

X 
Y 

Instances

Instances details
NFData ResVar Source # 
Instance details

Defined in A

Methods

rnf :: ResVar -> () #

Generic ResVar Source # 
Instance details

Defined in A

Associated Types

type Rep ResVar 
Instance details

Defined in A

type Rep ResVar = D1 ('MetaData "ResVar" "A" "apple-0.3.0.0-inplace" 'False) (C1 ('MetaCons "X" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Y" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ResVar -> Rep ResVar x #

to :: Rep ResVar x -> ResVar #

Pretty ResVar Source # 
Instance details

Defined in A

Methods

pretty :: ResVar -> Doc ann #

prettyList :: [ResVar] -> Doc ann #

type Rep ResVar Source # 
Instance details

Defined in A

type Rep ResVar = D1 ('MetaData "ResVar" "A" "apple-0.3.0.0-inplace" 'False) (C1 ('MetaCons "X" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Y" 'PrefixI 'False) (U1 :: Type -> Type))

prettyTyped :: E (T a) -> Doc ann Source #

prettyC :: (T (), [(Nm a, C)]) -> Doc ann Source #

rLi :: T a -> T a Source #