subhask-0.1.1.0: Type safe interface for programming in subcategories of Hask

Safe HaskellNone
LanguageHaskell2010

SubHask.Algebra.Container

Description

This module contains the container algebras

Synopsis

Documentation

data Box v Source

A Box is a generalization of an interval from the real numbers into an arbitrary lattice. Boxes are closed in the sense that the end points of the boxes are also contained within the box.

See wikipedia for more details.

Constructors

Box 

Fields

smallest :: !v
 
largest :: !v
 

newtype Jaccard a Source

The Jaccard distance.

See wikipedia for more detail.

Constructors

Jaccard a 

Instances

Read a0 => Read (Jaccard a) Source 
Show a0 => Show (Jaccard a) Source 
Arbitrary a0 => Arbitrary (Jaccard a) Source 
NFData a0 => NFData (Jaccard a) Source 
IsMutable a0 => IsMutable (Jaccard a) Source 
(Foldable a0, Constructible a0, Monoid a0, Normed a0, (~) * (Scalar a0) Int) => Foldable (Jaccard a) Source 
(Constructible a0, Semigroup a0) => Constructible (Jaccard a) Source 
(Lattice_ a, Field (Scalar a), Normed a, (~) * (Logic (Scalar a)) (Logic a), Boolean (Logic a), HasScalar a) => Metric (Jaccard a) Source 
(Normed a0, Ord_ (Scalar a0), (~) * (Scalar (Scalar a0)) (Scalar a0), Ring (Scalar a0)) => Normed (Jaccard a) Source 
(Ring a0, Rng a0, Rig a0) => Ring (Jaccard a) Source 
(Rig a0, Monoid a0, Rg a0) => Rig (Jaccard a) Source 
(Rg a0, Abelian a0, Monoid a0) => Rg (Jaccard a) Source 
(Abelian a0, Semigroup a0) => Abelian (Jaccard a) Source 
(Group a0, Cancellative a0, Monoid a0) => Group (Jaccard a) Source 
(Cancellative a0, Semigroup a0) => Cancellative (Jaccard a) Source 
(Monoid a0, Semigroup a0) => Monoid (Jaccard a) Source 
(Semigroup a0, IsMutable a0) => Semigroup (Jaccard a) Source 
(Boolean a0, Complemented a0, Heyting a0) => Boolean (Jaccard a) Source 
(Heyting a0, Bounded a0) => Heyting (Jaccard a) Source 
(Complemented a0, Bounded a0) => Complemented (Jaccard a) Source 
(Bounded a0, Lattice_ a0, MinBound_ a0) => Bounded (Jaccard a) Source 
(Ord_ a0, Lattice_ a0) => Ord_ (Jaccard a) Source 
(Lattice_ a0, POrd_ a0) => Lattice_ (Jaccard a) Source 
(MinBound_ a0, POrd_ a0) => MinBound_ (Jaccard a) Source 
(POrd_ a0, Eq_ a0) => POrd_ (Jaccard a) Source 
Eq_ a0 => Eq_ (Jaccard a) Source 
data Mutable m (Jaccard a0) = Mutable_Jaccard (Mutable m a) Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Elem (Jaccard a0) = Elem a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Scalar (Jaccard a0) = Scalar a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Actor (Jaccard a0) = Actor a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 
type Logic (Jaccard a0) = Logic a0 Source 

newtype Hamming a Source

The Hamming distance.

See wikipedia for more detail.

Constructors

Hamming a 

Instances

Read a0 => Read (Hamming a) Source 
Show a0 => Show (Hamming a) Source 
Arbitrary a0 => Arbitrary (Hamming a) Source 
NFData a0 => NFData (Hamming a) Source 
IsMutable a0 => IsMutable (Hamming a) Source 
(Foldable a0, Constructible a0, Monoid a0, Normed a0, (~) * (Scalar a0) Int) => Foldable (Hamming a) Source 
(Constructible a0, Semigroup a0) => Constructible (Hamming a) Source 
(Foldable a, Eq (Elem a), Eq a, ClassicalLogic (Scalar a), HasScalar a) => Metric (Hamming a) Source 
(Normed a0, Ord_ (Scalar a0), (~) * (Scalar (Scalar a0)) (Scalar a0), Ring (Scalar a0)) => Normed (Hamming a) Source 
(Ring a0, Rng a0, Rig a0) => Ring (Hamming a) Source 
(Rig a0, Monoid a0, Rg a0) => Rig (Hamming a) Source 
(Rg a0, Abelian a0, Monoid a0) => Rg (Hamming a) Source 
(Abelian a0, Semigroup a0) => Abelian (Hamming a) Source 
(Group a0, Cancellative a0, Monoid a0) => Group (Hamming a) Source 
(Cancellative a0, Semigroup a0) => Cancellative (Hamming a) Source 
(Monoid a0, Semigroup a0) => Monoid (Hamming a) Source 
(Semigroup a0, IsMutable a0) => Semigroup (Hamming a) Source 
(Boolean a0, Complemented a0, Heyting a0) => Boolean (Hamming a) Source 
(Heyting a0, Bounded a0) => Heyting (Hamming a) Source 
(Complemented a0, Bounded a0) => Complemented (Hamming a) Source 
(Bounded a0, Lattice_ a0, MinBound_ a0) => Bounded (Hamming a) Source 
(Ord_ a0, Lattice_ a0) => Ord_ (Hamming a) Source 
(Lattice_ a0, POrd_ a0) => Lattice_ (Hamming a) Source 
(MinBound_ a0, POrd_ a0) => MinBound_ (Hamming a) Source 
(POrd_ a0, Eq_ a0) => POrd_ (Hamming a) Source 
Eq_ a0 => Eq_ (Hamming a) Source 
data Mutable m (Hamming a0) = Mutable_Hamming (Mutable m a) Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Elem (Hamming a0) = Elem a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Scalar (Hamming a0) = Scalar a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Actor (Hamming a0) = Actor a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 
type Logic (Hamming a0) = Logic a0 Source 

newtype Levenshtein a Source

The Levenshtein distance is a type of edit distance, but it is often referred to as THE edit distance.

FIXME: The implementation could be made faster in a number of ways; for example, the Hamming distance is a lower bound on the Levenshtein distance

See wikipedia for more detail.

Constructors

Levenshtein a 

Instances

Read a0 => Read (Levenshtein a) Source 
Show a0 => Show (Levenshtein a) Source 
Arbitrary a0 => Arbitrary (Levenshtein a) Source 
NFData a0 => NFData (Levenshtein a) Source 
IsMutable a0 => IsMutable (Levenshtein a) Source 
(Foldable a0, Constructible a0, Monoid a0, Normed a0, (~) * (Scalar a0) Int) => Foldable (Levenshtein a) Source 
(Constructible a0, Semigroup a0) => Constructible (Levenshtein a) Source 
(Foldable a, Eq (Elem a), Eq a, Show a, HasScalar a, ClassicalLogic (Scalar a), Bounded (Scalar a)) => Metric (Levenshtein a) Source 
(Normed a0, Ord_ (Scalar a0), (~) * (Scalar (Scalar a0)) (Scalar a0), Ring (Scalar a0)) => Normed (Levenshtein a) Source 
(Ring a0, Rng a0, Rig a0) => Ring (Levenshtein a) Source 
(Rig a0, Monoid a0, Rg a0) => Rig (Levenshtein a) Source 
(Rg a0, Abelian a0, Monoid a0) => Rg (Levenshtein a) Source 
(Abelian a0, Semigroup a0) => Abelian (Levenshtein a) Source 
(Group a0, Cancellative a0, Monoid a0) => Group (Levenshtein a) Source 
(Cancellative a0, Semigroup a0) => Cancellative (Levenshtein a) Source 
(Monoid a0, Semigroup a0) => Monoid (Levenshtein a) Source 
(Semigroup a0, IsMutable a0) => Semigroup (Levenshtein a) Source 
(Boolean a0, Complemented a0, Heyting a0) => Boolean (Levenshtein a) Source 
(Heyting a0, Bounded a0) => Heyting (Levenshtein a) Source 
(Complemented a0, Bounded a0) => Complemented (Levenshtein a) Source 
(Bounded a0, Lattice_ a0, MinBound_ a0) => Bounded (Levenshtein a) Source 
(Ord_ a0, Lattice_ a0) => Ord_ (Levenshtein a) Source 
(Lattice_ a0, POrd_ a0) => Lattice_ (Levenshtein a) Source 
(MinBound_ a0, POrd_ a0) => MinBound_ (Levenshtein a) Source 
(POrd_ a0, Eq_ a0) => POrd_ (Levenshtein a) Source 
Eq_ a0 => Eq_ (Levenshtein a) Source 
data Mutable m (Levenshtein a0) = Mutable_Levenshtein (Mutable m a) Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Elem (Levenshtein a0) = Elem a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Scalar (Levenshtein a0) = Scalar a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Actor (Levenshtein a0) = Actor a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 
type Logic (Levenshtein a0) = Logic a0 Source 

dist :: Eq a => [a] -> [a] -> Int Source

newtype Uncompensated s Source

Compensated sums are more accurate for floating point math

FIXME: There are many different types of compensated sums, they should be implemented too.

FIXME: Is this the best representation for compensated sums? The advantage is that we can make any algorithm work in a compensated or uncompensated manner by just changing the types. This is closely related to the measure theory containers work.

See, e.g. kahan summation for more detail.

Constructors

Uncompensated s 

Instances

Read s0 => Read (Uncompensated s) Source 
Show s0 => Show (Uncompensated s) Source 
Arbitrary s0 => Arbitrary (Uncompensated s) Source 
NFData s0 => NFData (Uncompensated s) Source 
IsMutable s0 => IsMutable (Uncompensated s) Source 
Foldable s => Foldable (Uncompensated s) Source 
(Constructible s0, Semigroup s0) => Constructible (Uncompensated s) Source 
(Normed s0, Ord_ (Scalar s0), (~) * (Scalar (Scalar s0)) (Scalar s0), Ring (Scalar s0)) => Normed (Uncompensated s) Source 
(Monoid s0, Semigroup s0) => Monoid (Uncompensated s) Source 
(Semigroup s0, IsMutable s0) => Semigroup (Uncompensated s) Source 
(Boolean s0, Complemented s0, Heyting s0) => Boolean (Uncompensated s) Source 
(Heyting s0, Bounded s0) => Heyting (Uncompensated s) Source 
(Complemented s0, Bounded s0) => Complemented (Uncompensated s) Source 
(Bounded s0, Lattice_ s0, MinBound_ s0) => Bounded (Uncompensated s) Source 
(Ord_ s0, Lattice_ s0) => Ord_ (Uncompensated s) Source 
(Lattice_ s0, POrd_ s0) => Lattice_ (Uncompensated s) Source 
(MinBound_ s0, POrd_ s0) => MinBound_ (Uncompensated s) Source 
(POrd_ s0, Eq_ s0) => POrd_ (Uncompensated s) Source 
Eq_ s0 => Eq_ (Uncompensated s) Source 
data Mutable m (Uncompensated s0) = Mutable_Uncompensated (Mutable m s) Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Elem (Uncompensated s0) = Elem s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Scalar (Uncompensated s0) = Scalar s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Actor (Uncompensated s0) = Actor s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 
type Logic (Uncompensated s0) = Logic s0 Source 

newtype Lexical a Source

Lexical ordering of foldable types.

NOTE: The default ordering for containers is the partial ordering by inclusion. In most cases this makes more sense intuitively. But this is NOT the ordering in the Prelude, because the Prelude does not have partial orders. Therefore, in the prelude, @"abc" < "def"@, but for us, "abc" and "def" are incomparable PNA. The Lexical newtype gives us the total ordering provided by the Prelude.

FIXME: there are more container orderings that probably deserve implementation

Constructors

Lexical 

Fields

unLexical :: a
 

Instances

Read a0 => Read (Lexical a) Source 
Show a0 => Show (Lexical a) Source 
Arbitrary a0 => Arbitrary (Lexical a) Source 
NFData a0 => NFData (Lexical a) Source 
IsMutable a0 => IsMutable (Lexical a) Source 
(Foldable a0, Constructible a0, Monoid a0, Normed a0, (~) * (Scalar a0) Int) => Foldable (Lexical a) Source 
(Constructible a0, Semigroup a0) => Constructible (Lexical a) Source 
(Normed a0, Ord_ (Scalar a0), (~) * (Scalar (Scalar a0)) (Scalar a0), Ring (Scalar a0)) => Normed (Lexical a) Source 
(Monoid a0, Semigroup a0) => Monoid (Lexical a) Source 
(Semigroup a0, IsMutable a0) => Semigroup (Lexical a) Source 
((~) * (Logic a) Bool, Ord (Elem a), Foldable a, Eq_ a) => Ord_ (Lexical a) Source 
((~) * (Logic a) Bool, Ord (Elem a), Foldable a, Eq_ a) => Lattice_ (Lexical a) Source 
((~) * (Logic a) Bool, Ord (Elem a), Foldable a, Eq_ a) => MinBound_ (Lexical a) Source 
((~) * (Logic a) Bool, Ord (Elem a), Foldable a, Eq_ a) => POrd_ (Lexical a) Source 
Eq_ a0 => Eq_ (Lexical a) Source 
data Mutable m (Lexical a0) = Mutable_Lexical (Mutable m a) Source 
type Elem (Lexical a0) = Elem a0 Source 
type Elem (Lexical a0) = Elem a0 Source 
type Elem (Lexical a0) = Elem a0 Source 
type Elem (Lexical a0) = Elem a0 Source 
type Elem (Lexical a0) = Elem a0 Source 
type Elem (Lexical a0) = Elem a0 Source 
type Elem (Lexical a0) = Elem a0 Source 
type Elem (Lexical a0) = Elem a0 Source 
type Elem (Lexical a0) = Elem a0 Source 
type Elem (Lexical a0) = Elem a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Scalar (Lexical a0) = Scalar a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Actor (Lexical a0) = Actor a0 Source 
type Logic (Lexical a0) = Logic a0 Source 
type Logic (Lexical a0) = Logic a0 Source 
type Logic (Lexical a0) = Logic a0 Source 
type Logic (Lexical a0) = Logic a0 Source 
type Logic (Lexical a0) = Logic a0 Source 
type Logic (Lexical a0) = Logic a0 Source 
type Logic (Lexical a0) = Logic a0 Source 
type Logic (Lexical a0) = Logic a0 Source 
type Logic (Lexical a0) = Logic a0 Source 
type Logic (Lexical a0) = Logic a0 Source 

newtype ComponentWise a Source

Constructors

ComponentWise 

Fields

unComponentWise :: a
 

Instances

Read a0 => Read (ComponentWise a) Source 
Show a0 => Show (ComponentWise a) Source 
Arbitrary a0 => Arbitrary (ComponentWise a) Source 
NFData a0 => NFData (ComponentWise a) Source 
IsMutable a0 => IsMutable (ComponentWise a) Source 
(Foldable a0, Constructible a0, Monoid a0, Normed a0, (~) * (Scalar a0) Int) => Foldable (ComponentWise a) Source 
(Constructible a0, Semigroup a0) => Constructible (ComponentWise a) Source 
(Normed a0, Ord_ (Scalar a0), (~) * (Scalar (Scalar a0)) (Scalar a0), Ring (Scalar a0)) => Normed (ComponentWise a) Source 
(Monoid a0, Semigroup a0) => Monoid (ComponentWise a) Source 
(Semigroup a0, IsMutable a0) => Semigroup (ComponentWise a) Source 
(SimpleContainerLogic a, Eq_ a, Lattice_ (Elem a), Foldable a) => Lattice_ (ComponentWise a) Source 
(SimpleContainerLogic a, Eq_ a, POrd_ (Elem a), Foldable a) => MinBound_ (ComponentWise a) Source 
(SimpleContainerLogic a, Eq_ a, POrd_ (Elem a), Foldable a) => POrd_ (ComponentWise a) Source 
Eq_ a0 => Eq_ (ComponentWise a) Source 
data Mutable m (ComponentWise a0) = Mutable_ComponentWise (Mutable m a) Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Elem (ComponentWise a0) = Elem a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Scalar (ComponentWise a0) = Scalar a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Actor (ComponentWise a0) = Actor a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 
type Logic (ComponentWise a0) = Logic a0 Source 

class (Boolean (Logic a), Logic (Elem a) ~ Logic a) => SimpleContainerLogic a Source

Instances

(Boolean (Logic a), (~) * (Logic (Elem a)) (Logic a)) => SimpleContainerLogic a Source