symantic-lib-0.0.4.20180831: Symantics for common types.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Lib.Semigroup

Contents

Description

Symantic for Semigroup.

Synopsis

Class Sym_Semigroup

class Sym_Semigroup term where Source #

Methods

(<>) :: Semigroup a => term a -> term a -> term a Source #

stimes :: (Semigroup a, Integral b) => term b -> term a -> term a Source #

(<>) :: Sym_Semigroup (UnT term) => Trans term => Semigroup a => term a -> term a -> term a Source #

stimes :: Sym_Semigroup (UnT term) => Trans term => Semigroup a => Integral b => term b -> term a -> term a Source #

Instances
Sym_Semigroup View Source # 
Instance details

Defined in Language.Symantic.Lib.Semigroup

Methods

(<>) :: Semigroup a => View a -> View a -> View a Source #

stimes :: (Semigroup a, Integral b) => View b -> View a -> View a Source #

Sym_Semigroup Eval Source # 
Instance details

Defined in Language.Symantic.Lib.Semigroup

Methods

(<>) :: Semigroup a => Eval a -> Eval a -> Eval a Source #

stimes :: (Semigroup a, Integral b) => Eval b -> Eval a -> Eval a Source #

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

Defined in Language.Symantic.Lib.Semigroup

Methods

(<>) :: Semigroup a => BetaT term a -> BetaT term a -> BetaT term a Source #

stimes :: (Semigroup a, Integral b) => BetaT term b -> BetaT term a -> BetaT term a Source #

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

Defined in Language.Symantic.Lib.Semigroup

Methods

(<>) :: Semigroup a => Dup r1 r2 a -> Dup r1 r2 a -> Dup r1 r2 a Source #

stimes :: (Semigroup a, Integral b) => Dup r1 r2 b -> Dup r1 r2 a -> Dup r1 r2 a Source #

Types

tySemigroup :: Source src => Type src vs a -> Type src vs (Semigroup a) Source #

Terms

Orphan instances

ClassInstancesFor Semigroup Source # 
Instance details

Methods

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

TypeInstancesFor Semigroup Source # 
Instance details

Methods

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

NameTyOf Semigroup Source # 
Instance details

Methods

nameTyOf :: proxy Semigroup -> Mod NameTy #

isNameTyOp :: proxy Semigroup -> Bool #

FixityOf Semigroup Source # 
Instance details

Methods

fixityOf :: proxy Semigroup -> Maybe Fixity #

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

Methods

moduleFor :: (PathMod, Module src ss) #

Gram_Term_AtomsFor src ss g Semigroup Source # 
Instance details

Methods

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