-- | 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 :: [IdeaDict]
educon :: [IdeaDict]
educon = [IdeaDict
calculus, IdeaDict
civil, IdeaDict
degree_, IdeaDict
engineering, IdeaDict
structural, IdeaDict
mechanics,
  IdeaDict
undergraduate, IdeaDict
highSchool, IdeaDict
physical_, IdeaDict
chemistry, IdeaDict
undergradDegree,
  IdeaDict
scndYrCalculus, IdeaDict
solidMechanics, IdeaDict
secondYear, IdeaDict
structuralEng,
  IdeaDict
structuralMechanics, IdeaDict
civilEng, IdeaDict
highSchoolCalculus, IdeaDict
highSchoolPhysics,
  IdeaDict
frstYr, IdeaDict
physChem]

-- * Educational Concepts

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

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

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

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