packages feed

ranges 0.2 → 0.2.1

raw patch · 2 files changed

+7/−4 lines, 2 files

Files

Data/Ranges.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE FlexibleInstances #-} module Data.Ranges -(range, ranges, Range, Ranges, inRange, inRanges, toSet,single)+(range, ranges, Range, Ranges, inRange, inRanges, toSet, single, addRange) where  import Data.Set (Set)@@ -8,8 +8,8 @@  data Ord a => Range a = Single !a | Range !a !a instance (Ord a, Show a) => Show (Range a) where-	show (Single x) = "(" ++ show x ++ ")"-	show (Range x y) = "(" ++ show x ++ "-" ++ show y ++ ")"+	show (Single x) = concat ["(", show x, ")"]+	show (Range x y) = concat ["(", show x, "–", show y, ")"]  newtype Ord a => Ranges a = Ranges [Range a] deriving Show @@ -63,6 +63,9 @@ -- | Allows quick lookups using ranges. toSet :: (Ord a) => Ranges a -> Set (Range a) toSet (Ranges x) = Set.fromList x++addRange :: (Ord a) => Ranges a -> Range a -> Ranges a+addRange (Ranges x) = Ranges . mergeRanges x  mergeRanges :: (Ord a) => [Range a] -> Range a -> [Range a] mergeRanges [] y = [y]
ranges.cabal view
@@ -1,5 +1,5 @@ Name: ranges-Version: 0.2+Version: 0.2.1 Description: Ranges and some functions allowing things like fast membership 	lookup on ranges with holes in them and so on. Synopsis: Ranges and various functions on them.