@@ -101,7 +101,7 @@ defaultPred toEnum' fromEnum' a = toEnum' (fromEnum' a - 1)
101101
102102-- | Returns a successive sequence of elements from the lower bound to
103103-- | the upper bound (inclusive).
104- enumFromTo :: forall a u . ( Enum a , Unfoldable u ) => a -> a -> u a
104+ enumFromTo :: forall a u . Enum a => Unfoldable u => a -> a -> u a
105105enumFromTo from to = unfoldr go (Just from)
106106 where
107107 go mx = do
@@ -129,10 +129,10 @@ intStepFromTo step from to =
129129diag :: forall a . a -> Tuple a a
130130diag a = Tuple a a
131131
132- upFrom :: forall a u . ( Enum a , Unfoldable u ) => a -> u a
132+ upFrom :: forall a u . Enum a => Unfoldable u => a -> u a
133133upFrom = unfoldr (map diag <<< succ)
134134
135- downFrom :: forall a u . ( Enum a , Unfoldable u ) => a -> u a
135+ downFrom :: forall a u . Enum a => Unfoldable u => a -> u a
136136downFrom = unfoldr (map diag <<< pred)
137137
138138-- | Type class for finite enumerations.
@@ -165,11 +165,6 @@ instance boundedEnumBoolean :: BoundedEnum Boolean where
165165 fromEnum false = 0
166166 fromEnum true = 1
167167
168- instance boundedEnumInt :: BoundedEnum Int where
169- cardinality = Cardinality (top - bottom)
170- toEnum = Just
171- fromEnum = id
172-
173168instance boundedEnumChar :: BoundedEnum Char where
174169 cardinality = Cardinality (toCharCode top - toCharCode bottom)
175170 toEnum = charToEnum
@@ -227,12 +222,12 @@ instance boundedEnumTuple :: (BoundedEnum a, BoundedEnum b) => BoundedEnum (Tupl
227222 from (Cardinality cb) (Tuple a b) = fromEnum a * cb + fromEnum b
228223
229224-- | Runs in `O(n)` where `n` is `fromEnum top`
230- defaultCardinality :: forall a . ( Bounded a , Enum a ) => Cardinality a
225+ defaultCardinality :: forall a . Bounded a => Enum a => Cardinality a
231226defaultCardinality = Cardinality $ defaultCardinality' 1 (bottom :: a ) where
232227 defaultCardinality' i = maybe i (defaultCardinality' $ i + 1 ) <<< succ
233228
234229 -- | Runs in `O(n)` where `n` is `fromEnum a`
235- defaultToEnum :: forall a . ( Bounded a , Enum a ) => Int -> Maybe a
230+ defaultToEnum :: forall a . Bounded a => Enum a => Int -> Maybe a
236231defaultToEnum n
237232 | n < 0 = Nothing
238233 | n == 0 = Just bottom
0 commit comments