@@ -101,7 +101,7 @@ defaultPred toEnum' fromEnum' a = toEnum' (fromEnum' a - 1)
101
101
102
102
-- | Returns a successive sequence of elements from the lower bound to
103
103
-- | 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
105
105
enumFromTo from to = unfoldr go (Just from)
106
106
where
107
107
go mx = do
@@ -129,10 +129,10 @@ intStepFromTo step from to =
129
129
diag :: forall a . a -> Tuple a a
130
130
diag a = Tuple a a
131
131
132
- upFrom :: forall a u . ( Enum a , Unfoldable u ) => a -> u a
132
+ upFrom :: forall a u . Enum a => Unfoldable u => a -> u a
133
133
upFrom = unfoldr (map diag <<< succ)
134
134
135
- downFrom :: forall a u . ( Enum a , Unfoldable u ) => a -> u a
135
+ downFrom :: forall a u . Enum a => Unfoldable u => a -> u a
136
136
downFrom = unfoldr (map diag <<< pred)
137
137
138
138
-- | Type class for finite enumerations.
@@ -165,11 +165,6 @@ instance boundedEnumBoolean :: BoundedEnum Boolean where
165
165
fromEnum false = 0
166
166
fromEnum true = 1
167
167
168
- instance boundedEnumInt :: BoundedEnum Int where
169
- cardinality = Cardinality (top - bottom)
170
- toEnum = Just
171
- fromEnum = id
172
-
173
168
instance boundedEnumChar :: BoundedEnum Char where
174
169
cardinality = Cardinality (toCharCode top - toCharCode bottom)
175
170
toEnum = charToEnum
@@ -227,12 +222,12 @@ instance boundedEnumTuple :: (BoundedEnum a, BoundedEnum b) => BoundedEnum (Tupl
227
222
from (Cardinality cb) (Tuple a b) = fromEnum a * cb + fromEnum b
228
223
229
224
-- | 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
231
226
defaultCardinality = Cardinality $ defaultCardinality' 1 (bottom :: a ) where
232
227
defaultCardinality' i = maybe i (defaultCardinality' $ i + 1 ) <<< succ
233
228
234
229
-- | 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
236
231
defaultToEnum n
237
232
| n < 0 = Nothing
238
233
| n == 0 = Just bottom
0 commit comments