boolean-normal-forms-0.0.0.2: Boolean normal form: NNF, DNF & CNF

Copyright© Oleg Grenrus 2014
LicenseMIT
MaintainerOleg Grenrus <oleg.grenrus@iki.fi>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Algebra.Boolean.CoBoolean

Description

 

Synopsis

Documentation

class CoBoolean a where Source #

A class to values translable to booleans.

Minimal complete definition

toBoolean

Methods

toBoolean :: Boolean b => a -> b Source #

Cast value to Boolean.

Instances

CoBoolean Bool Source # 

Methods

toBoolean :: Boolean b => Bool -> b Source #

CoBoolean (Maybe a) Source # 

Methods

toBoolean :: Boolean b => Maybe a -> b Source #

CoBoolean (Neg a) Source # 

Methods

toBoolean :: Boolean b => Neg a -> b Source #

CoBoolean a => CoBoolean (FreeBoolean a) Source # 

Methods

toBoolean :: Boolean b => FreeBoolean a -> b Source #

CoBoolean a => CoBoolean (NNF a) Source # 

Methods

toBoolean :: Boolean b => NNF a -> b Source #

CoBoolean a => CoBoolean (NNF a) Source # 

Methods

toBoolean :: Boolean b => NNF a -> b Source #

CoBoolean a => CoBoolean (DNF a) Source # 

Methods

toBoolean :: Boolean b => DNF a -> b Source #

CoBoolean a => CoBoolean (DNF a) Source # 

Methods

toBoolean :: Boolean b => DNF a -> b Source #

CoBoolean a => CoBoolean (CNF a) Source # 

Methods

toBoolean :: Boolean b => CNF a -> b Source #

CoBoolean a => CoBoolean (CNF a) Source # 

Methods

toBoolean :: Boolean b => CNF a -> b Source #

(CoBoolean f, CoBoolean g) => CoBoolean (Either f g) Source # 

Methods

toBoolean :: Boolean b => Either f g -> b Source #

class CoBoolean1 b where Source #

A polymorphic class of values translable to booleans.

Minimal complete definition

toBooleanWith

Methods

toBooleanWith :: Boolean c => (a -> c) -> b a -> c Source #

Cast value to Boolean.

Instances

CoBoolean1 Maybe Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> Maybe a -> c Source #

CoBoolean1 Neg Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> Neg a -> c Source #

CoBoolean1 FreeBoolean Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> FreeBoolean a -> c Source #

CoBoolean1 NNF Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> NNF a -> c Source #

CoBoolean1 NNF Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> NNF a -> c Source #

CoBoolean1 DNF Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> DNF a -> c Source #

CoBoolean1 DNF Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> DNF a -> c Source #

CoBoolean1 CNF Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> CNF a -> c Source #

CoBoolean1 CNF Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> CNF a -> c Source #

toBool :: CoBoolean a => a -> Bool Source #

Less polymorphic version of toBoolean.

toBoolWith :: CoBoolean1 b => (a -> Bool) -> b a -> Bool Source #

Less polymorphic version of toBooleanWith.