Skip to content

Commit 3b6c084

Browse files
authored
Merge pull request #21 from LiamGoodacre/fix/simplify-bounded-either
Simplify toEnum for Either instance.
2 parents dc6bbed + 73e6c20 commit 3b6c084

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/Data/Enum.purs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -203,13 +203,12 @@ instance boundedEnumEither :: (BoundedEnum a, BoundedEnum b) => BoundedEnum (Eit
203203
Cardinality
204204
$ unwrap (cardinality :: Cardinality a)
205205
+ unwrap (cardinality :: Cardinality b)
206-
toEnum n = to cardinality cardinality
206+
toEnum n = to cardinality
207207
where
208-
to :: Cardinality a -> Cardinality (Either a b) -> Maybe (Either a b)
209-
to (Cardinality ca) (Cardinality cab)
208+
to :: Cardinality a -> Maybe (Either a b)
209+
to (Cardinality ca)
210210
| n >= 0 && n < ca = Left <$> toEnum n
211-
| n >= ca && n < cab = Right <$> toEnum (n - ca)
212-
| otherwise = Nothing
211+
| otherwise = Right <$> toEnum (n - ca)
213212
fromEnum (Left a) = fromEnum a
214213
fromEnum (Right b) = fromEnum b + unwrap (cardinality :: Cardinality a)
215214

0 commit comments

Comments
 (0)