module Drasil.System.Core (
Purpose, Background, Scope, Motivation,
SystemMeta,
HasSystemMeta(..),
mkSystemMeta
) where
import Control.Lens (makeClassy)
import Drasil.Database (ChunkDB)
import Language.Drasil (Sentence, People, CI)
type Purpose = [Sentence]
type Background = [Sentence]
type Scope = [Sentence]
type Motivation = [Sentence]
data SystemMeta = SystemMeta
{ SystemMeta -> CI
_sysName :: CI
, SystemMeta -> People
_authors :: People
, SystemMeta -> Purpose
_purpose :: Purpose
, SystemMeta -> Purpose
_background :: Background
, SystemMeta -> Purpose
_scope :: Scope
, SystemMeta -> Purpose
_motivation :: Motivation
, SystemMeta -> ChunkDB
_systemdb :: ChunkDB
}
makeClassy ''SystemMeta
mkSystemMeta :: CI -> People -> Purpose -> Background -> Scope -> Motivation ->
ChunkDB -> SystemMeta
mkSystemMeta :: CI
-> People
-> Purpose
-> Purpose
-> Purpose
-> Purpose
-> ChunkDB
-> SystemMeta
mkSystemMeta = CI
-> People
-> Purpose
-> Purpose
-> Purpose
-> Purpose
-> ChunkDB
-> SystemMeta
SystemMeta