-- | Defines concepts used to describe levels of education.
module Data.Drasil.Concepts.Education where

import Language.Drasil hiding (year)
import Language.Drasil.Chunk.Concept.NamedCombinators

import Data.Drasil.Concepts.Documentation (first, physics, second_, year)
import Data.Drasil.Concepts.PhysicalProperties (solid)

-- | Collects all education-related concepts.
educon :: [NamedChunk]
educon :: [NamedChunk]
educon = [NamedChunk
calculus, NamedChunk
civil, NamedChunk
degree_, NamedChunk
engineering, NamedChunk
structural, NamedChunk
mechanics,
  NamedChunk
undergraduate, NamedChunk
highSchool, NamedChunk
physical_, NamedChunk
chemistry, NamedChunk
undergradDegree,
  NamedChunk
scndYrCalculus, NamedChunk
solidMechanics, NamedChunk
secondYear, NamedChunk
structuralEng,
  NamedChunk
structuralMechanics, NamedChunk
civilEng, NamedChunk
highSchoolCalculus, NamedChunk
highSchoolPhysics,
  NamedChunk
frstYr, NamedChunk
physChem]

-- * Educational Concepts

calculus, civil, degree_, engineering, structural, mechanics,
  undergraduate, highSchool, physical_, chemistry :: NamedChunk

calculus :: NamedChunk
calculus      = String -> NP -> NamedChunk
nc "calculus"       (String -> NP
cn   "calculus"     )
civil :: NamedChunk
civil         = String -> NP -> NamedChunk
nc "civil"          (String -> NP
cn'  "civil"        )--FIXME: Adjective
degree_ :: NamedChunk
degree_       = String -> NP -> NamedChunk
nc "degree"         (String -> NP
cn'  "degree"       )
engineering :: NamedChunk
engineering   = String -> NP -> NamedChunk
nc "engineering"    (String -> NP
cn'  "engineering"  )
mechanics :: NamedChunk
mechanics     = String -> NP -> NamedChunk
nc "mechanics"      (String -> NP
cn   "mechanics"    )
structural :: NamedChunk
structural    = String -> NP -> NamedChunk
nc "structural"     (String -> NP
cn'  "structural"   )--FIXME: Adjective
undergraduate :: NamedChunk
undergraduate = String -> NP -> NamedChunk
nc "undergraduate"  (String -> NP
cn'  "undergraduate")--FIXME: Functions as adjective
highSchool :: NamedChunk
highSchool    = String -> NP -> NamedChunk
nc "highSchool"     (String -> NP
cn'  "high school"  )--FIXME: Functions as adjective
chemistry :: NamedChunk
chemistry     = String -> NP -> NamedChunk
nc "chemistry"      (String -> NP
cn'  "chemistry"    )
physical_ :: NamedChunk
physical_     = String -> NP -> NamedChunk
nc "physical"       (String -> NP
cn'  "physical"     )--FIXME: Adjective

undergradDegree, scndYrCalculus, solidMechanics, secondYear, structuralEng,
  structuralMechanics, civilEng, highSchoolCalculus, highSchoolPhysics,
  frstYr, physChem :: NamedChunk

civilEng :: NamedChunk
civilEng            = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
civil NamedChunk
engineering
physChem :: NamedChunk
physChem            = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
physical_ NamedChunk
chemistry
highSchoolCalculus :: NamedChunk
highSchoolCalculus  = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
highSchool NamedChunk
calculus
highSchoolPhysics :: NamedChunk
highSchoolPhysics   = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
highSchool NamedChunk
physics
scndYrCalculus :: NamedChunk
scndYrCalculus      = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
secondYear NamedChunk
calculus
frstYr :: NamedChunk
frstYr              = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
first NamedChunk
year
secondYear :: NamedChunk
secondYear          = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
second_ NamedChunk
year
solidMechanics :: NamedChunk
solidMechanics      = ConceptChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC ConceptChunk
solid NamedChunk
mechanics
structuralEng :: NamedChunk
structuralEng       = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
structural NamedChunk
engineering
structuralMechanics :: NamedChunk
structuralMechanics = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
structural NamedChunk
mechanics
undergradDegree :: NamedChunk
undergradDegree     = NamedChunk -> NamedChunk -> NamedChunk
forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk
compoundNC NamedChunk
undergraduate NamedChunk
degree_