Safe Haskell | None |
---|---|
Language | Haskell2010 |
AUTHOR
- Dr. Alistair Ward
DESCRIPTION
- Describes groups of students or teachers.
- Any number of different groups can exist.
- Students & teachers can belong to any number of groups, & any group can include both students & teachers.
- This concept exists because of the probable requirement to book staff-meetings interleaved with the booking of normal classes; the requirement for student-groups isn't so clear, though perhaps Muslim student may need to pray at certain times within the normal working day.
- Practice for a drama or choir, lunch or morning-assembly, might be other examples of group-meetings, because in contrast to a normal lesson, more than one teacher might be required to attend.
Synopsis
- type Id = String
- type Membership = Set Id
- data Profile timeslotId locationId
- groupIdTag :: String
- memberTag :: String
- mandatesAttendanceTag :: String
- meetingTimesTag :: String
- defaultMandatesAttendance :: Bool
- countNTimeslotsPerWeek :: Profile timeslotId locationId -> NTimeslots
- mkProfile :: TimeSet timeslotId -> Maybe locationId -> Bool -> Profile timeslotId locationId
Types
Type-synonyms
type Membership = Set Id Source #
The groups to which a human-resource belongs.
Data-types
data Profile timeslotId locationId Source #
Aggregates the attributes of a group.
Instances
(Eq timeslotId, Eq locationId) => Eq (Profile timeslotId locationId) Source # | |
(Ord timeslotId, Read timeslotId, Read locationId) => Read (Profile timeslotId locationId) Source # | |
(Show timeslotId, Show locationId) => Show (Profile timeslotId locationId) Source # | |
(NFData locationId, NFData timeslotId) => NFData (Profile timeslotId locationId) Source # | |
Defined in WeekDaze.Data.Group | |
(XmlPickler locationId, XmlPickler timeslotId, Ord timeslotId) => XmlPickler (Profile timeslotId locationId) Source # | |
Defined in WeekDaze.Data.Group | |
SelfValidator (Profile timeslotId locationId) Source # | |
Constants
groupIdTag :: String Source #
Used to qualify CSS, SQL & XML.
mandatesAttendanceTag :: String Source #
Used to qualify SQL & XML.
meetingTimesTag :: String Source #
Used to qualify XML.
defaultMandatesAttendance :: Bool Source #
The default value for getMandatesAttendance
.
Functions
countNTimeslotsPerWeek :: Profile timeslotId locationId -> NTimeslots Source #
- Counts the number of time-slots per week required for meetings of this group.
- CAVEAT: this total is independent of the individual member, but if attendance isn't mandated, it should be reduced according to individual availability.
Constructor
mkProfile :: TimeSet timeslotId -> Maybe locationId -> Bool -> Profile timeslotId locationId Source #
Smart constructor.