module Drasil.GamePhysics.References (chaslesWiki, citations, koothoor2013,
smithEtAl2007, smithLai2005, smithKoothoor2016) where

import Language.Drasil

import Data.Drasil.Citations (cartesianWiki, koothoor2013,
  parnasClements1986, smithEtAl2007, smithLai2005, smithKoothoor2016,
  lineSource, pointSource, dampingSource)
import Data.Drasil.People (bWaugh, cTitus, dParnas, daAruliah, epWhite, gWilson,
  imMitchell, jBueche, kdHuff, mDavis, mdPlumblet, nChueHong, pWilson, rGuy, shdHaddock,
  wikiAuthors)

chaslesWiki, jfBeucheIntro, parnas1978, sciComp2013 :: Citation

citations :: BibRef
citations :: BibRef
citations = [Citation
parnas1978, Citation
sciComp2013, Citation
chaslesWiki, Citation
parnasClements1986,
  Citation
koothoor2013, Citation
smithEtAl2007, Citation
smithLai2005, Citation
smithKoothoor2016, Citation
jfBeucheIntro, 
  Citation
cartesianWiki, Citation
lineSource, Citation
pointSource, Citation
dampingSource]

--FIXME: check for references made within document

chaslesWiki :: Citation
chaslesWiki = [CiteField] -> String -> Citation
cMisc [People -> CiteField
author [Person
wikiAuthors],
  String -> CiteField
title String
"Chasles' theorem (kinematics)",
  String -> CiteField
howPublishedU String
"https://en.wikipedia.org/wiki/Chasles'_theorem_(kinematics)",
  Month -> CiteField
month Month
Nov, Int -> CiteField
year Int
2018] String
"chaslesWiki"

jfBeucheIntro :: Citation
jfBeucheIntro = [CiteField] -> String -> Citation
cMisc
  [ People -> CiteField
author [Person
jBueche]
  , String -> CiteField
title String
"Introduction to Physics for Scientists, Fourth Edition"
  , String -> CiteField
publisher String
"Mcgraw-Hill College" --FIXME: not sure if this is publisher of 4th edition
  , Int -> CiteField
year Int
1986
  ] String
"jfBeucheIntro"

parnas1978 :: Citation
parnas1978 = People
-> String -> String -> Int -> [CiteField] -> String -> Citation
cInProceedings [Person
dParnas]
    String
"Designing Software for Ease of Extension and Contraction"
    String
"ICSE '78: Proceedings of the 3rd international conference on Software engineering" 
    Int
1978 [[Int] -> CiteField
pages [Int
264..Int
277]] String
"parnas1978"

sciComp2013 :: Citation
sciComp2013 = People
-> String -> String -> Int -> [CiteField] -> String -> Citation
cArticle
  [Person
gWilson, Person
daAruliah, Person
cTitus, Person
nChueHong, Person
mDavis, Person
rGuy, Person
shdHaddock,
  Person
kdHuff, Person
imMitchell, Person
mdPlumblet, Person
bWaugh, Person
epWhite, Person
pWilson]
  String
"Best Practices for Scientific Computing, 2013"
  String
"PLoS Biol" Int
2013
  [Int -> CiteField
volume Int
12, Int -> CiteField
number Int
1] String
"sciComp2013"