packages feed

stack-1.3.0: src/Stack/Types/Resolver.hs-boot

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE GADTs #-}

module Stack.Types.Resolver where

import           Data.Text (Text)
import           Stack.Types.BuildPlan (SnapName, SnapshotHash)
import           Stack.Types.Compiler

data IsLoaded = Loaded | NotLoaded

data ResolverThat's (l :: IsLoaded) where
    ResolverSnapshot :: !SnapName -> ResolverThat's l
    ResolverCompiler :: !CompilerVersion -> ResolverThat's l
    ResolverCustom :: !Text -> !Text -> ResolverThat's 'NotLoaded
    ResolverCustomLoaded :: !Text -> !Text -> !SnapshotHash -> ResolverThat's 'Loaded

type LoadedResolver = ResolverThat's 'Loaded

type Resolver = ResolverThat's 'NotLoaded