{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-} module Algebra.DivisibleSpace where import qualified Algebra.VectorSpace as VectorSpace -- Is this right? infix 7 </> {-| DivisibleSpace is used for free one-dimensional vector spaces. It satisfies > (a </> b) *> b = a Examples include dollars and kilometers. -} class (VectorSpace.C a b) => C a b where (</>) :: b -> b -> a