From 24b2fe2a531953eba49cfde74d8ce33634c85afa Mon Sep 17 00:00:00 2001 From: Fumiaki Kinoshita Date: Tue, 27 Feb 2018 10:28:54 +0900 Subject: [PATCH] Add a missing semigroup instance --- splines.cabal | 5 +++-- src/Math/Spline/Knots.hs | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/splines.cabal b/splines.cabal index 60f60d4..0b00e9f 100644 --- a/splines.cabal +++ b/splines.cabal @@ -49,12 +49,13 @@ Library containers, polynomial, vector >= 0.8, - vector-space + vector-space, + semigroups Test-Suite splines-test type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Main.hs - + build-depends: base >= 3 && <5, containers, polynomial, diff --git a/src/Math/Spline/Knots.hs b/src/Math/Spline/Knots.hs index 0cf6255..ea7832c 100644 --- a/src/Math/Spline/Knots.hs +++ b/src/Math/Spline/Knots.hs @@ -53,6 +53,7 @@ import Data.Maybe (fromJust) import qualified Data.Map as M import Data.Monoid (Monoid(..)) import Data.Ord +import Data.Semigroup import qualified Data.Set as S (Set, fromAscList) import qualified Data.Vector as V @@ -65,6 +66,9 @@ instance Show a => Show (Knots a) where . showsPrec 11 (knots ks) ) +instance Ord a => Semigroup (Knots a) where + (<>) = mappend + instance (Ord a) => Monoid (Knots a) where mempty = empty mappend (Knots v1) (Knots v2) =