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

Safe HaskellNone
LanguageHaskell2010

WeekDaze.Data.Subject

Contents

Description

AUTHOR
Dr. Alistair Ward
DESCRIPTION
  • Describes a subject, in terms of the topic, & the level at which it is being taught.
  • The level may correspond to an academic year, but may be a finer-grain value as required to model topic-specific streaming.
  • A non-academic subject like cross-country running, may not have a concept of multiple levels, but since it doesn't have zero but rather one level, the concept exists for all subjects.
Synopsis

Types

Type-synonyms

type Topic = String Source #

The type of the topic of study.

type Knowledge level = Set (Subject level) Source #

A collection of distinct Subjects.

Data-types

data Subject level Source #

The subject which is being either taught or learned.

Instances
Eq level => Eq (Subject level) Source # 
Instance details

Defined in WeekDaze.Data.Subject

Methods

(==) :: Subject level -> Subject level -> Bool #

(/=) :: Subject level -> Subject level -> Bool #

Ord level => Ord (Subject level) Source # 
Instance details

Defined in WeekDaze.Data.Subject

Methods

compare :: Subject level -> Subject level -> Ordering #

(<) :: Subject level -> Subject level -> Bool #

(<=) :: Subject level -> Subject level -> Bool #

(>) :: Subject level -> Subject level -> Bool #

(>=) :: Subject level -> Subject level -> Bool #

max :: Subject level -> Subject level -> Subject level #

min :: Subject level -> Subject level -> Subject level #

(Read level, Show level) => Read (Subject level) Source # 
Instance details

Defined in WeekDaze.Data.Subject

Methods

readsPrec :: Int -> ReadS (Subject level) #

readList :: ReadS [Subject level] #

readPrec :: ReadPrec (Subject level) #

readListPrec :: ReadPrec [Subject level] #

Show level => Show (Subject level) Source # 
Instance details

Defined in WeekDaze.Data.Subject

Methods

showsPrec :: Int -> Subject level -> ShowS #

show :: Subject level -> String #

showList :: [Subject level] -> ShowS #

NFData level => NFData (Subject level) Source # 
Instance details

Defined in WeekDaze.Data.Subject

Methods

rnf :: Subject level -> () #

(XmlPickler level, Show level) => XmlPickler (Subject level) Source # 
Instance details

Defined in WeekDaze.Data.Subject

Methods

xpickle :: PU (Subject level) #

Show level => SelfValidator (Subject level) Source # 
Instance details

Defined in WeekDaze.Data.Subject

Methods

getErrors :: Subject level -> [String] #

isValid :: Subject level -> Bool #

HTML level => HTML (Subject level) Source # 
Instance details

Defined in WeekDaze.Data.Subject

Methods

toHtml :: Subject level -> Html #

toHtmlFromList :: [Subject level] -> Html #

Constants

tag :: String Source #

Used to qualify CSS & XML.

levelTag :: String Source #

Used to qualify CSS, SQL & XML.

topicTag :: String Source #

Used to qualify CSS, SQL & XML.

Functions

Constructors

mkSubject :: Show level => Topic -> level -> Subject level Source #

Smart constructor.