{-# LANGUAGE DeriveAnyClass #-} module Horizon.Spec.Types.HaskellSource (HaskellSource(FromGit, FromHackage, FromTarball)) where import Data.Kind (Type) import Dhall (FromDhall, Generic, ToDhall) import Horizon.Spec.Types.GitSource (GitSource) import Horizon.Spec.Types.HackageSource (HackageSource) import Horizon.Spec.Types.TarballSource (TarballSource) type HaskellSource :: Type data HaskellSource where FromGit :: GitSource -> HaskellSource FromHackage :: HackageSource -> HaskellSource FromTarball :: TarballSource -> HaskellSource deriving stock (Show, Eq, Generic) deriving anyclass (FromDhall, ToDhall)