| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Language.Drasil.Data.Citation
Description
Contains all necessary types and constructors for citing sources in Drasil.
Synopsis
- data CiteField
- = Address String
- | Author People
- | BookTitle String
- | Chapter Int
- | Edition Int
- | Editor People
- | HowPublished HP
- | Institution String
- | Journal String
- | Month Month
- | Note String
- | Number Int
- | Organization String
- | Pages [Int]
- | Publisher String
- | School String
- | Series String
- | Title String
- | Type String
- | Volume Int
- | Year Int
- data HP
- data CitationKind
- class HasFields c where
- author :: People -> CiteField
- editor :: People -> CiteField
- address :: String -> CiteField
- bookTitle :: String -> CiteField
- howPublished :: String -> CiteField
- howPublishedU :: String -> CiteField
- institution :: String -> CiteField
- journal :: String -> CiteField
- note :: String -> CiteField
- organization :: String -> CiteField
- publisher :: String -> CiteField
- school :: String -> CiteField
- series :: String -> CiteField
- title :: String -> CiteField
- typeField :: String -> CiteField
- chapter :: Int -> CiteField
- edition :: Int -> CiteField
- number :: Int -> CiteField
- volume :: Int -> CiteField
- year :: Int -> CiteField
- pages :: [Int] -> CiteField
- month :: Month -> CiteField
- compareAuthYearTitle :: HasFields c => c -> c -> Ordering
Types
Fields used in citations.
Constructors
| Address String | |
| Author People | |
| BookTitle String | Used for |
| Chapter Int | |
| Edition Int | |
| Editor People | |
| HowPublished HP | Can be published via URL or something else. |
| Institution String | |
| Journal String | |
| Month Month | |
| Note String | |
| Number Int | |
| Organization String | |
| Pages [Int] | Range of pages (ex1. 1-32; ex2. 7,31,52-55). |
| Publisher String | |
| School String | |
| Series String | |
| Title String | |
| Type String | BibTeX "type" field. |
| Volume Int | |
| Year Int |
How something is published. Necessary for URLs to work properly.
data CitationKind Source #
External references come in many flavours. Articles, Books, etc. (we are using the types available in Bibtex).
Class
CiteField Constructors
People -> CiteField
String -> CiteField
howPublishedU :: String -> CiteField Source #
URL version of howPublished.
Smart field constructor for a CiteField.
Int -> CiteField
[Int] -> CiteField
CiteField -> CiteField
Comparators
compareAuthYearTitle :: HasFields c => c -> c -> Ordering Source #
Orders two authors. If given two of the exact same authors, year, and title, returns an error.