Skip to content

Commit

Permalink
🔀 Merge pull request #103 from lsrcz/fix-extract-symbolics-instances
Browse files Browse the repository at this point in the history
Add ExtractSymbolics instances for tuples longer than 2
  • Loading branch information
lsrcz authored Jul 20, 2023
2 parents e870bc1 + 0e8fe7f commit f1d65c1
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions src/Grisette/Core/Data/Class/ExtractSymbolics.hs
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,71 @@ deriving via
(ExtractSymbolics a, ExtractSymbolics b, ExtractSymbolics c) =>
ExtractSymbolics (a, b, c)

-- (,,,)
deriving via
(Default (a, b, c, d))
instance
( ExtractSymbolics a,
ExtractSymbolics b,
ExtractSymbolics c,
ExtractSymbolics d
) =>
ExtractSymbolics (a, b, c, d)

-- (,,,,)
deriving via
(Default (a, b, c, d, e))
instance
( ExtractSymbolics a,
ExtractSymbolics b,
ExtractSymbolics c,
ExtractSymbolics d,
ExtractSymbolics e
) =>
ExtractSymbolics (a, b, c, d, e)

-- (,,,,,)
deriving via
(Default (a, b, c, d, e, f))
instance
( ExtractSymbolics a,
ExtractSymbolics b,
ExtractSymbolics c,
ExtractSymbolics d,
ExtractSymbolics e,
ExtractSymbolics f
) =>
ExtractSymbolics (a, b, c, d, e, f)

-- (,,,,,,)
deriving via
(Default (a, b, c, d, e, f, g))
instance
( ExtractSymbolics a,
ExtractSymbolics b,
ExtractSymbolics c,
ExtractSymbolics d,
ExtractSymbolics e,
ExtractSymbolics f,
ExtractSymbolics g
) =>
ExtractSymbolics (a, b, c, d, e, f, g)

-- (,,,,,,,)
deriving via
(Default (a, b, c, d, e, f, g, h))
instance
( ExtractSymbolics a,
ExtractSymbolics b,
ExtractSymbolics c,
ExtractSymbolics d,
ExtractSymbolics e,
ExtractSymbolics f,
ExtractSymbolics g,
ExtractSymbolics h
) =>
ExtractSymbolics (a, b, c, d, e, f, g, h)

-- MaybeT
instance (ExtractSymbolics (m (Maybe a))) => ExtractSymbolics (MaybeT m a) where
extractSymbolics (MaybeT v) = extractSymbolics v
Expand Down

0 comments on commit f1d65c1

Please sign in to comment.