weekdaze-0.0.0.1: A school-timetable problem-solver.

Safe HaskellNone
LanguageHaskell2010

WeekDaze.Model.Meeting

Contents

Description

AUTHOR
Dr. Alistair Ward
DESCRIPTION
Defines a meeting of a group, suitable for any time-slot in the generic timetable.
Synopsis

Types

Type-synonyms

type MeetingsByTime timeslotId locationId teacherId = Map (Time timeslotId) (Set (Meeting locationId teacherId)) Source #

A map indexed by time, of sets of meetings.

Data-types

data Meeting locationId teacherId Source #

  • Defines a potential booking of the resources required for a group to meet.
  • It doesn't directly specify the time-slot at which it's to be booked, because that's defined by it's position within a timetable.
Instances
(Eq locationId, Eq teacherId) => Eq (Meeting locationId teacherId) Source # 
Instance details

Defined in WeekDaze.Model.Meeting

Methods

(==) :: Meeting locationId teacherId -> Meeting locationId teacherId -> Bool #

(/=) :: Meeting locationId teacherId -> Meeting locationId teacherId -> Bool #

(Ord locationId, Ord teacherId) => Ord (Meeting locationId teacherId) Source # 
Instance details

Defined in WeekDaze.Model.Meeting

Methods

compare :: Meeting locationId teacherId -> Meeting locationId teacherId -> Ordering #

(<) :: Meeting locationId teacherId -> Meeting locationId teacherId -> Bool #

(<=) :: Meeting locationId teacherId -> Meeting locationId teacherId -> Bool #

(>) :: Meeting locationId teacherId -> Meeting locationId teacherId -> Bool #

(>=) :: Meeting locationId teacherId -> Meeting locationId teacherId -> Bool #

max :: Meeting locationId teacherId -> Meeting locationId teacherId -> Meeting locationId teacherId #

min :: Meeting locationId teacherId -> Meeting locationId teacherId -> Meeting locationId teacherId #

(Show locationId, Show teacherId) => Show (Meeting locationId teacherId) Source # 
Instance details

Defined in WeekDaze.Model.Meeting

Methods

showsPrec :: Int -> Meeting locationId teacherId -> ShowS #

show :: Meeting locationId teacherId -> String #

showList :: [Meeting locationId teacherId] -> ShowS #

(Show locationId, Show teacherId) => SelfValidator (Meeting locationId teacherId) Source # 
Instance details

Defined in WeekDaze.Model.Meeting

Methods

getErrors :: Meeting locationId teacherId -> [String] #

isValid :: Meeting locationId teacherId -> Bool #

(HTML locationId, HTML teacherId) => HTML (Meeting locationId teacherId) Source # 
Instance details

Defined in WeekDaze.Model.Meeting

Methods

toHtml :: Meeting locationId teacherId -> Html #

toHtmlFromList :: [Meeting locationId teacherId] -> Html #

Constants

Functions

deleteLocationId :: (Ord locationId, Ord teacherId) => locationId -> MeetingsByTimeMutator timeslotId locationId teacherId Source #

Delete the specified location-Id from all specified meetings.

deleteStudentBody :: (Ord locationId, Ord teacherId) => StudentBody -> MeetingsByTimeMutator timeslotId locationId teacherId Source #

Delete the specified student-body from the members of all specified meetings.

deleteTeacherId :: (Ord locationId, Ord teacherId) => teacherId -> MeetingsByTimeMutator timeslotId locationId teacherId Source #

Delete the specified teacher-Id from the members of all specified meetings.

Constructor

mkMeeting Source #

Arguments

:: (Show locationId, Show teacherId) 
=> Id

The identifier of the group which it meeting.

-> Maybe locationId

The optional location of the rendezvous.

-> StudentClass

The potentially empty set of student-members of the group.

-> Set teacherId

The potentially empty set of teacher-members of the group.

-> Meeting locationId teacherId 

Smart constructor.