module Drasil.SWHS.Goals (goals, waterTempGS, pcmTempGS, waterEnergyGS, pcmEnergyGS) where import Language.Drasil import Data.Drasil.Concepts.Documentation (goalStmtDom) import Data.Drasil.Concepts.Physics (time) import Drasil.SWHS.Unitals (tempW, tempPCM, watE, pcmE) goals :: [ConceptInstance] goals :: [ConceptInstance] goals = [ConceptInstance waterTempGS, ConceptInstance pcmTempGS, ConceptInstance waterEnergyGS, ConceptInstance pcmEnergyGS] waterTempGS :: ConceptInstance waterTempGS :: ConceptInstance waterTempGS = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic "waterTempGS" (ConstrConcept -> Sentence forall varTerm. NamedIdea varTerm => varTerm -> Sentence goalState ConstrConcept tempW) "Predict-Water-Temperature" ConceptChunk goalStmtDom pcmTempGS :: ConceptInstance pcmTempGS :: ConceptInstance pcmTempGS = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic "pcmTempGS" (ConstrConcept -> Sentence forall varTerm. NamedIdea varTerm => varTerm -> Sentence goalState ConstrConcept tempPCM) "Predict-PCM-Temperature" ConceptChunk goalStmtDom waterEnergyGS :: ConceptInstance waterEnergyGS :: ConceptInstance waterEnergyGS = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic "waterEnergyGS" (ConstrConcept -> Sentence forall varTerm. NamedIdea varTerm => varTerm -> Sentence goalState ConstrConcept watE) "Predict-Water-Energy" ConceptChunk goalStmtDom pcmEnergyGS :: ConceptInstance pcmEnergyGS :: ConceptInstance pcmEnergyGS = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic "pcmEnergyGS" (ConstrConcept -> Sentence forall varTerm. NamedIdea varTerm => varTerm -> Sentence goalState ConstrConcept pcmE) "Predict-PCM-Energy" ConceptChunk goalStmtDom goalState :: NamedIdea varTerm => varTerm -> Sentence goalState :: varTerm -> Sentence goalState varTerm :: varTerm varTerm = [Sentence] -> Sentence foldlSent [String -> Sentence S "Predict the", varTerm -> Sentence forall n. (HasUID n, NamedIdea n) => n -> Sentence phrase varTerm varTerm, String -> Sentence S "over", ConceptChunk -> Sentence forall n. (HasUID n, NamedIdea n) => n -> Sentence phrase ConceptChunk time]