{-# LANGUAGE DeriveAnyClass #-} module Horizon.Spec.Types.PackageSet (PackageSet(MkPackageSet), compiler, packages) where import Data.Kind (Type) import Dhall (FromDhall, Generic, ToDhall) import Horizon.Spec.Types.Compiler (Compiler) import Horizon.Spec.Types.PackageList (PackageList) type PackageSet :: Type data PackageSet where MkPackageSet :: { PackageSet -> Compiler compiler :: Compiler , PackageSet -> PackageList packages :: PackageList } -> PackageSet deriving stock (Int -> PackageSet -> ShowS [PackageSet] -> ShowS PackageSet -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [PackageSet] -> ShowS $cshowList :: [PackageSet] -> ShowS show :: PackageSet -> String $cshow :: PackageSet -> String showsPrec :: Int -> PackageSet -> ShowS $cshowsPrec :: Int -> PackageSet -> ShowS Show, PackageSet -> PackageSet -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: PackageSet -> PackageSet -> Bool $c/= :: PackageSet -> PackageSet -> Bool == :: PackageSet -> PackageSet -> Bool $c== :: PackageSet -> PackageSet -> Bool Eq, forall x. Rep PackageSet x -> PackageSet forall x. PackageSet -> Rep PackageSet x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep PackageSet x -> PackageSet $cfrom :: forall x. PackageSet -> Rep PackageSet x Generic) deriving anyclass (InputNormalizer -> Decoder PackageSet forall a. (InputNormalizer -> Decoder a) -> FromDhall a autoWith :: InputNormalizer -> Decoder PackageSet $cautoWith :: InputNormalizer -> Decoder PackageSet FromDhall, InputNormalizer -> Encoder PackageSet forall a. (InputNormalizer -> Encoder a) -> ToDhall a injectWith :: InputNormalizer -> Encoder PackageSet $cinjectWith :: InputNormalizer -> Encoder PackageSet ToDhall)