derive newtype RenderableVertices instances

This commit is contained in:
Marco Perone 2023-03-16 10:11:07 +01:00 committed by Marco Perone
parent 7841ffec7f
commit 68baaf0831

View File

@ -35,13 +35,9 @@ deriving via AllVertices () instance RenderableVertices ()
deriving via AllVertices Bool instance RenderableVertices Bool deriving via AllVertices Bool instance RenderableVertices Bool
instance RenderableVertices All where deriving newtype instance RenderableVertices All
vertices :: [All]
vertices = [All False, All True]
instance RenderableVertices Any where deriving newtype instance RenderableVertices Any
vertices :: [Any]
vertices = [Any False, Any True]
deriving via AllVertices Ordering instance RenderableVertices Ordering deriving via AllVertices Ordering instance RenderableVertices Ordering
@ -50,49 +46,29 @@ instance RenderableVertices a => RenderableVertices (Maybe a) where
vertices = vertices =
Nothing : (Just <$> vertices) Nothing : (Just <$> vertices)
instance RenderableVertices a => RenderableVertices (Min a) where deriving newtype instance RenderableVertices a => RenderableVertices (Min a)
vertices :: [Min a]
vertices = Min <$> vertices
instance RenderableVertices a => RenderableVertices (Max a) where deriving newtype instance RenderableVertices a => RenderableVertices (Max a)
vertices :: [Max a]
vertices = Max <$> vertices
instance RenderableVertices a => RenderableVertices (First a) where deriving newtype instance RenderableVertices a => RenderableVertices (First a)
vertices :: [First a]
vertices = First <$> vertices
instance RenderableVertices a => RenderableVertices (Last a) where deriving newtype instance RenderableVertices a => RenderableVertices (Last a)
vertices :: [Last a]
vertices = Last <$> vertices
instance RenderableVertices a => RenderableVertices (Identity a) where deriving newtype instance RenderableVertices a => RenderableVertices (Identity a)
vertices :: [Identity a]
vertices = Identity <$> vertices
instance RenderableVertices a => RenderableVertices (Dual a) where deriving newtype instance RenderableVertices a => RenderableVertices (Dual a)
vertices :: [Dual a]
vertices = Dual <$> vertices
instance RenderableVertices a => RenderableVertices (Sum a) where deriving newtype instance RenderableVertices a => RenderableVertices (Sum a)
vertices :: [Sum a]
vertices = Sum <$> vertices
instance RenderableVertices a => RenderableVertices (Down a) where deriving newtype instance RenderableVertices a => RenderableVertices (Down a)
vertices :: [Down a]
vertices = Down <$> vertices
instance RenderableVertices a => RenderableVertices (Product a) where deriving newtype instance RenderableVertices a => RenderableVertices (Product a)
vertices :: [Product a]
vertices = Product <$> vertices
instance RenderableVertices (Proxy a) where instance RenderableVertices (Proxy a) where
vertices :: [Proxy a] vertices :: [Proxy a]
vertices = [Proxy] vertices = [Proxy]
instance RenderableVertices a => RenderableVertices (Const a b) where deriving newtype instance RenderableVertices a => RenderableVertices (Const a b)
vertices :: [Const a b]
vertices = Const <$> vertices
instance (RenderableVertices a, RenderableVertices b) => RenderableVertices (Either a b) where instance (RenderableVertices a, RenderableVertices b) => RenderableVertices (Either a b) where
vertices :: [Either a b] vertices :: [Either a b]