module Types where
import GHC.Generics
data Dependency = Dependency {dStackName :: StackName,
dDependencies :: [Dependency]} deriving (Show)
data Stack = Stack {sStackId :: StackId,
sStackName :: StackName,
sExports :: [Export]} deriving Show
newtype Stacks = Stacks { sStacks :: [Stack]} deriving Show
newtype Export = Export { eName :: ExportName} deriving Show
newtype StackName = StackName String deriving (Show, Generic, Eq)
newtype StackId = StackId String deriving (Show, Generic, Eq)
newtype ExportName = ExportName String deriving (Show, Generic)
newtype Imports = Imports { iStackNames :: [StackName] } deriving (Show)