module Drasil.Projectile.Lesson.Review where import Data.Drasil.Concepts.Physics (motion, position, time, velocity) import Data.Drasil.Concepts.Math (equation) import qualified Drasil.Projectile.Expressions as E (lcrectVel, lcrectPos, lcrectNoTime) import qualified Data.Drasil.Quantities.Physics as QP (speed, time, scalarPos, iPos, iSpeed, constAccel) import Language.Drasil import qualified Language.Drasil.Sentence.Combinators as S reviewContent :: [Contents] reviewContent :: [Contents] reviewContent = [Contents reviewHead, Contents reviewContextP1, LabelledContent -> Contents LlC LabelledContent E.lcrectVel, LabelledContent -> Contents LlC LabelledContent E.lcrectPos, LabelledContent -> Contents LlC LabelledContent E.lcrectNoTime, Contents reviewEqns, Contents reviewContextP2] reviewHead, reviewContextP1, reviewEqns, reviewContextP2 :: Contents reviewHead :: Contents reviewHead = [Sentence] -> Contents foldlSP_ [Int -> Sentence -> Sentence headSent Int 2 (String -> Sentence S String "Rectilinear Kinematics: Continuous Motion")] reviewContextP1 :: Contents reviewContextP1 = [Sentence] -> Contents foldlSP_ [String -> Sentence S String "As covered previously, the", forall n. NamedIdea n => n -> Sentence plural ConceptChunk equation, String -> Sentence S String "relating", forall n. NamedIdea n => n -> Sentence phrase ConceptChunk velocity, Sentence -> Sentence sParen (ModelExpr -> Sentence eS (forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk QP.speed)) Sentence -> Sentence -> Sentence `sC` forall n. NamedIdea n => n -> Sentence phrase ConceptChunk position, Sentence -> Sentence sParen (ModelExpr -> Sentence eS (forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk QP.scalarPos)) Sentence -> Sentence -> Sentence `S.and_` forall n. NamedIdea n => n -> Sentence phrase ConceptChunk time, Sentence -> Sentence sParen (ModelExpr -> Sentence eS (forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk QP.time)) Sentence -> Sentence -> Sentence `S.for` forall n. NamedIdea n => n -> Sentence phrase ConceptChunk motion Sentence -> Sentence -> Sentence `S.in_` String -> Sentence S String "one dimension with", forall n. NamedIdea n => n -> Sentence phrase UnitalChunk QP.constAccel, Sentence -> Sentence sParen (ModelExpr -> Sentence eS (forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk QP.constAccel)) Sentence -> Sentence -> Sentence +:+ String -> Sentence S String "are as follows:"] reviewEqns :: Contents reviewEqns = [Sentence] -> Contents foldlSP [String -> Sentence S String "where", ModelExpr -> Sentence eS (forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk QP.iSpeed) Sentence -> Sentence -> Sentence `S.and_` ModelExpr -> Sentence eS (forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk QP.iPos), String -> Sentence S String "are the initial", forall n. NamedIdea n => n -> Sentence phrase ConceptChunk velocity Sentence -> Sentence -> Sentence `S.and_` forall n. NamedIdea n => n -> Sentence phrase ConceptChunk position, String -> Sentence S String ",respectively"] reviewContextP2 :: Contents reviewContextP2 = [Sentence] -> Contents foldlSP [String -> Sentence S String "Only two of these", forall n. NamedIdea n => n -> Sentence plural ConceptChunk equation, String -> Sentence S String "are independent, since the third" Sentence -> Sentence -> Sentence +:+ forall n. NamedIdea n => n -> Sentence phrase ConceptChunk equation, String -> Sentence S String "can always be derived from the other two"]