-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | metric spaces -- @package ms @version 0.2 -- | A MetricSpace is a set together with a notion of distance -- between elements. Distance is computed by a function dist which -- has the following four laws: -- --
-- >>> dist levenshtein "foo" "bar" -- 3 ---- --
-- >>> dist levenshtein "hi" "ha" -- 1 ---- --
-- >>> dist levenshtein "ff" "ff" -- 0 --levenshtein :: Integral b => MetricSpace String b -- | Discrete distance over n-dimensional Vectors. -- --
-- >>> dist discrete (V.fromList [3,4]) (V.fromList [3,4]) -- 0 ---- --
-- >>> dist discrete (V.fromList [1,49]) (V.fromList [3,-94]) -- 1 --discrete :: (Eq a, Integral b) => MetricSpace (Vector a) b -- | Euclidean distance over n-dimensional Vectors. -- --
-- >>> dist euclidean (V.fromList [3,4]) (V.fromList [3,4]) -- 0.0 ---- --
-- >>> dist euclidean (V.fromList [1,49]) (V.fromList [3,-94]) -- 143.01398533010678 --euclidean :: RealFloat a => MetricSpace (Vector a) a -- | Taxicab distance over n-dimensional Vectors. -- --
-- >>> dist taxicab (V.fromList [3,4]) (V.fromList [3,4]) -- 0.0 ---- --
-- >>> dist taxicab (V.fromList [1,49]) (V.fromList [3,-94]) -- 145.0 --taxicab :: RealFloat a => MetricSpace (Vector a) a instance SwappedMetricSpace FlippedMetricSpace instance SwappedMetricSpace MetricSpace instance Monoid b => Divisible (FlippedMetricSpace b) instance Contravariant (FlippedMetricSpace b) instance Profunctor MetricSpace instance Monoid b => Monoid (MetricSpace a b) instance Semigroup b => Semigroup (MetricSpace a b) instance Monad (MetricSpace a) instance Applicative (MetricSpace a) instance Functor (MetricSpace a)