Safe Haskell | None |
---|---|
Language | Haskell2010 |
AUTHOR
- Dr. Alistair Ward
DESCRIPTION
- Describes the attributes of a student.
Synopsis
- type Id = String
- type KnowledgeRequirements level = Requirements (Knowledge level)
- data Profile level stream teachingRatio
- knowledgeRequirementsTag :: String
- teachingRatioTag :: String
- defaultTeachingRatio :: Num teachingRatio => teachingRatio
- amalgamateKnowledgeRequirements :: Ord level => KnowledgeRequirements level -> Knowledge level
- deriveAmalgamatedKnowledgeRequirement :: Ord level => Profile level stream teachingRatio -> Knowledge level
- unsubscribe :: Membership -> Profile level stream teachingRatio -> Profile level stream teachingRatio
- mkProfile :: (Ord level, Real teachingRatio, Show level) => stream -> KnowledgeRequirements level -> Availability -> teachingRatio -> Membership -> Maybe FreePeriodPreference -> Profile level stream teachingRatio
- hasAnyCoreKnowledgeRequirements :: Profile level stream teachingRatio -> Bool
- hasAnyOptionalKnowledgeRequirements :: Profile level stream teachingRatio -> Bool
- requiresAnySubjectBy :: Ord level => (Subject level -> Bool) -> Profile level stream teachingRatio -> Bool
Types
Type-synonyms
- A unique identifier, which may be merely their name, or more likely a registration-number of some unspecified format.
- Though arbitrary, a string adequately covers all possibilities.
type KnowledgeRequirements level = Requirements (Knowledge level) Source #
A specification of subject-requirements, partitioned into those considered core & the optional remainder.
Data-types
data Profile level stream teachingRatio Source #
The attributes of a student.
Instances
(Eq stream, Eq level, Eq teachingRatio) => Eq (Profile level stream teachingRatio) Source # | |
(Ord stream, Ord level, Ord teachingRatio) => Ord (Profile level stream teachingRatio) Source # | |
Defined in WeekDaze.Data.Student compare :: Profile level stream teachingRatio -> Profile level stream teachingRatio -> Ordering # (<) :: Profile level stream teachingRatio -> Profile level stream teachingRatio -> Bool # (<=) :: Profile level stream teachingRatio -> Profile level stream teachingRatio -> Bool # (>) :: Profile level stream teachingRatio -> Profile level stream teachingRatio -> Bool # (>=) :: Profile level stream teachingRatio -> Profile level stream teachingRatio -> Bool # max :: Profile level stream teachingRatio -> Profile level stream teachingRatio -> Profile level stream teachingRatio # min :: Profile level stream teachingRatio -> Profile level stream teachingRatio -> Profile level stream teachingRatio # | |
(Show level, Show stream, Show teachingRatio) => Show (Profile level stream teachingRatio) Source # | |
(NFData level, NFData stream, NFData teachingRatio) => NFData (Profile level stream teachingRatio) Source # | |
Defined in WeekDaze.Data.Student | |
(Default stream, Eq stream, XmlPickler level, XmlPickler stream, XmlPickler teachingRatio, Ord level, Real teachingRatio, Show level) => XmlPickler (Profile level stream teachingRatio) Source # | |
Defined in WeekDaze.Data.Student | |
(Ord level, Real teachingRatio, Show level) => SelfValidator (Profile level stream teachingRatio) Source # | |
Resource (Profile level stream teachingRatio) Source # | |
Defined in WeekDaze.Data.Student getAvailability :: Profile level stream teachingRatio -> Availability Source # isAvailableOn :: Day -> Profile level stream teachingRatio -> Bool Source # | |
RealFrac teachingRatio => HumanResource (Profile level stream teachingRatio) Source # | |
Defined in WeekDaze.Data.Student getNTimeslotsPerWeekOfTeaching :: NTimeslots -> Profile level stream teachingRatio -> NTimeslots Source # getNTimeslotsPerWeekOfNonTeaching :: NTimeslots -> Profile level stream teachingRatio -> NTimeslots Source # getGroupMembership :: Profile level stream teachingRatio -> Membership Source # getMaybeFreePeriodPreference :: Profile level stream teachingRatio -> Maybe FreePeriodPreference Source # |
Constants
knowledgeRequirementsTag :: String Source #
Used to qualify XML.
teachingRatioTag :: String Source #
Used to qualify SQL & XML.
defaultTeachingRatio :: Num teachingRatio => teachingRatio Source #
The default value for getTeachingRatio
.
Functions
amalgamateKnowledgeRequirements :: Ord level => KnowledgeRequirements level -> Knowledge level Source #
A combination of the core & optional knowledge-requirements.
deriveAmalgamatedKnowledgeRequirement :: Ord level => Profile level stream teachingRatio -> Knowledge level Source #
Get the core & optional subject-requirements.
unsubscribe :: Membership -> Profile level stream teachingRatio -> Profile level stream teachingRatio Source #
Unsubscribe from the specified set of groups.
Constructor
:: (Ord level, Real teachingRatio, Show level) | |
=> stream | The stream for this student. |
-> KnowledgeRequirements level | The subjects to study. |
-> Availability | The days on which this student can attend school. |
-> teachingRatio | The portion of the working-week allocated to tuition. |
-> Membership | The groups of which this student is a member. |
-> Maybe FreePeriodPreference | Any preference for the position within each day, of free time-slots. |
-> Profile level stream teachingRatio |
Smart constructor.
Predicates
hasAnyCoreKnowledgeRequirements :: Profile level stream teachingRatio -> Bool Source #
True if the student has any core subject-requirements.
hasAnyOptionalKnowledgeRequirements :: Profile level stream teachingRatio -> Bool Source #
True if the student has any optional subject-requirements.