heyting-algebras-0.2.0.1: Heyting and Boolean algebras
Safe HaskellNone
LanguageHaskell2010

Algebra.Boolean.Free

Synopsis

Documentation

newtype FreeBoolean a Source #

Free Boolean algebra. FreeAlgebra instance provides all the usual combinators for a free algebra.

Constructors

FreeBoolean 

Fields

Instances

Instances details
Monad FreeBoolean Source # 
Instance details

Defined in Algebra.Boolean.Free

Methods

(>>=) :: FreeBoolean a -> (a -> FreeBoolean b) -> FreeBoolean b #

(>>) :: FreeBoolean a -> FreeBoolean b -> FreeBoolean b #

return :: a -> FreeBoolean a #

Functor FreeBoolean Source # 
Instance details

Defined in Algebra.Boolean.Free

Methods

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

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

Applicative FreeBoolean Source # 
Instance details

Defined in Algebra.Boolean.Free

Methods

pure :: a -> FreeBoolean a #

(<*>) :: FreeBoolean (a -> b) -> FreeBoolean a -> FreeBoolean b #

liftA2 :: (a -> b -> c) -> FreeBoolean a -> FreeBoolean b -> FreeBoolean c #

(*>) :: FreeBoolean a -> FreeBoolean b -> FreeBoolean b #

(<*) :: FreeBoolean a -> FreeBoolean b -> FreeBoolean a #

FreeAlgebra FreeBoolean Source # 
Instance details

Defined in Algebra.Boolean.Free

Heyting (FreeBoolean a) Source # 
Instance details

Defined in Algebra.Boolean.Free

Lattice (FreeBoolean a) Source # 
Instance details

Defined in Algebra.Boolean.Free

BoundedJoinSemiLattice (FreeBoolean a) Source # 
Instance details

Defined in Algebra.Boolean.Free

Methods

bottom :: FreeBoolean a #

BoundedMeetSemiLattice (FreeBoolean a) Source # 
Instance details

Defined in Algebra.Boolean.Free

Methods

top :: FreeBoolean a #

Boolean (FreeBoolean a) Source # 
Instance details

Defined in Algebra.Boolean.Free

type AlgebraType FreeBoolean (a :: Type) Source # 
Instance details

Defined in Algebra.Boolean.Free

type AlgebraType0 FreeBoolean (a :: Type) Source # 
Instance details

Defined in Algebra.Boolean.Free

type AlgebraType0 FreeBoolean (a :: Type) = ()