symantic-lib-0.0.5.20190614: Symantics for common types.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Lib.Sequences

Contents

Description

Symantic for Sequences.

Synopsis

Class Sym_SemiSequence

class Sym_SemiSequence term where Source #

Minimal complete definition

Nothing

Methods

intersperse :: SemiSequence s => term (Element s) -> term s -> term s Source #

cons :: SemiSequence s => term (Element s) -> term s -> term s Source #

snoc :: SemiSequence s => term s -> term (Element s) -> term s Source #

reverse :: SemiSequence s => term s -> term s Source #

intersperse :: Sym_SemiSequence (UnT term) => Trans term => SemiSequence s => term (Element s) -> term s -> term s Source #

cons :: Sym_SemiSequence (UnT term) => Trans term => SemiSequence s => term (Element s) -> term s -> term s Source #

snoc :: Sym_SemiSequence (UnT term) => Trans term => SemiSequence s => term s -> term (Element s) -> term s Source #

reverse :: Sym_SemiSequence (UnT term) => Trans term => SemiSequence s => term s -> term s Source #

Instances
Sym_SemiSequence View Source # 
Instance details

Defined in Language.Symantic.Lib.Sequences

Methods

intersperse :: SemiSequence s => View (Element s) -> View s -> View s Source #

cons :: SemiSequence s => View (Element s) -> View s -> View s Source #

snoc :: SemiSequence s => View s -> View (Element s) -> View s Source #

reverse :: SemiSequence s => View s -> View s Source #

Sym_SemiSequence Eval Source # 
Instance details

Defined in Language.Symantic.Lib.Sequences

Methods

intersperse :: SemiSequence s => Eval (Element s) -> Eval s -> Eval s Source #

cons :: SemiSequence s => Eval (Element s) -> Eval s -> Eval s Source #

snoc :: SemiSequence s => Eval s -> Eval (Element s) -> Eval s Source #

reverse :: SemiSequence s => Eval s -> Eval s Source #

(Sym_SemiSequence term, Sym_Lambda term) => Sym_SemiSequence (BetaT term) Source # 
Instance details

Defined in Language.Symantic.Lib.Sequences

Methods

intersperse :: SemiSequence s => BetaT term (Element s) -> BetaT term s -> BetaT term s Source #

cons :: SemiSequence s => BetaT term (Element s) -> BetaT term s -> BetaT term s Source #

snoc :: SemiSequence s => BetaT term s -> BetaT term (Element s) -> BetaT term s Source #

reverse :: SemiSequence s => BetaT term s -> BetaT term s Source #

(Sym_SemiSequence r1, Sym_SemiSequence r2) => Sym_SemiSequence (Dup r1 r2) Source # 
Instance details

Defined in Language.Symantic.Lib.Sequences

Methods

intersperse :: SemiSequence s => Dup r1 r2 (Element s) -> Dup r1 r2 s -> Dup r1 r2 s Source #

cons :: SemiSequence s => Dup r1 r2 (Element s) -> Dup r1 r2 s -> Dup r1 r2 s Source #

snoc :: SemiSequence s => Dup r1 r2 s -> Dup r1 r2 (Element s) -> Dup r1 r2 s Source #

reverse :: SemiSequence s => Dup r1 r2 s -> Dup r1 r2 s Source #

Types

tySemiSequence :: Source src => Type src vs a -> Type src vs (SemiSequence a) Source #

s0 :: Source src => LenInj vs => KindInj (K s) => Type src (Proxy s ': vs) s Source #

Terms

Class Sym_IsSequence

class Sym_IsSequence term where Source #

Minimal complete definition

Nothing

Methods

filter :: IsSequence s => term (Element s -> Bool) -> term s -> term s Source #

filter :: Sym_IsSequence (UnT term) => Trans term => IsSequence s => term (Element s -> Bool) -> term s -> term s Source #

Instances
Sym_IsSequence View Source # 
Instance details

Defined in Language.Symantic.Lib.Sequences

Methods

filter :: IsSequence s => View (Element s -> Bool) -> View s -> View s Source #

Sym_IsSequence Eval Source # 
Instance details

Defined in Language.Symantic.Lib.Sequences

Methods

filter :: IsSequence s => Eval (Element s -> Bool) -> Eval s -> Eval s Source #

(Sym_IsSequence term, Sym_Lambda term) => Sym_IsSequence (BetaT term) Source # 
Instance details

Defined in Language.Symantic.Lib.Sequences

Methods

filter :: IsSequence s => BetaT term (Element s -> Bool) -> BetaT term s -> BetaT term s Source #

(Sym_IsSequence r1, Sym_IsSequence r2) => Sym_IsSequence (Dup r1 r2) Source # 
Instance details

Defined in Language.Symantic.Lib.Sequences

Methods

filter :: IsSequence s => Dup r1 r2 (Element s -> Bool) -> Dup r1 r2 s -> Dup r1 r2 s Source #

Types

tyIsSequence :: Source src => Type src vs a -> Type src vs (IsSequence a) Source #

Terms

teIsSequence_filter :: TermDef IsSequence '[Proxy s, Proxy e] ((IsSequence s # (e #~ Element s)) #> ((e -> Bool) -> s -> s)) Source #

Orphan instances

ClassInstancesFor SemiSequence Source # 
Instance details

Methods

proveConstraintFor :: Source src => proxy SemiSequence -> Type src vs q -> Maybe (Qual q) #

ClassInstancesFor IsSequence Source # 
Instance details

Methods

proveConstraintFor :: Source src => proxy IsSequence -> Type src vs q -> Maybe (Qual q) #

TypeInstancesFor SemiSequence Source # 
Instance details

Methods

expandFamFor :: Source src => proxy SemiSequence -> Len vs -> Const src fam -> Types src vs ts -> Maybe (Type src vs (Fam fam ts)) #

TypeInstancesFor IsSequence Source # 
Instance details

Methods

expandFamFor :: Source src => proxy IsSequence -> Len vs -> Const src fam -> Types src vs ts -> Maybe (Type src vs (Fam fam ts)) #

NameTyOf SemiSequence Source # 
Instance details

Methods

nameTyOf :: proxy SemiSequence -> Mod NameTy #

isNameTyOp :: proxy SemiSequence -> Bool #

NameTyOf IsSequence Source # 
Instance details

Methods

nameTyOf :: proxy IsSequence -> Mod NameTy #

isNameTyOp :: proxy IsSequence -> Bool #

FixityOf SemiSequence Source # 
Instance details

Methods

fixityOf :: proxy SemiSequence -> Maybe Fixity #

FixityOf IsSequence Source # 
Instance details

Methods

fixityOf :: proxy IsSequence -> Maybe Fixity #

(Source src, SymInj ss IsSequence) => ModuleFor src ss IsSequence Source # 
Instance details

Methods

moduleFor :: (PathMod, Module src ss) #

(Source src, SymInj ss SemiSequence) => ModuleFor src ss SemiSequence Source # 
Instance details

Methods

moduleFor :: (PathMod, Module src ss) #

Gram_Term_AtomsFor src ss g IsSequence Source # 
Instance details

Methods

g_term_atomsFor :: [CF g (AST_Term src ss)] #

Gram_Term_AtomsFor src ss g SemiSequence Source # 
Instance details

Methods

g_term_atomsFor :: [CF g (AST_Term src ss)] #