From 9cd5cf15f8c54932ff9ddd8ac469fdedd9b5f9df Mon Sep 17 00:00:00 2001
From: Mark Wooding <mdw@distorted.org.uk>
Date: Mon, 9 Jul 2018 13:06:16 +0100
Subject: [PATCH] doc/: A bibliography!  With citations!

Currently this uses pieces of Nelson Beebe's computer science
bibliography directly.  At some point I'll extract the pieces I need.
---
 .gitignore         | 2 ++
 doc/Makefile.am    | 1 +
 doc/concepts.tex   | 2 +-
 doc/sod.tex        | 4 ++++
 doc/structures.tex | 2 +-
 5 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/.gitignore b/.gitignore
index 0a2a9ed..7460dbb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,8 @@
 *.aux
 *.ind
 *.idx
+*.bbl
+*.blg
 _region_.tex
 Makefile.in
 /COPYING
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 4a31b70..5882527 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -75,6 +75,7 @@ EXTRA_DIST		+= sod.pdf
 doc_DATA		+= sod.pdf
 sod.pdf: $(TEX_FILES)
 	cd $(srcdir) && pdflatex $(TEXFLAGS) sod.tex
+	bibtex sod.aux
 	cd $(srcdir) && pdflatex $(TEXFLAGS) sod.tex
 	makeindex sod.idx
 	cd $(srcdir) && pdflatex $(TEXFLAGS) sod.tex
diff --git a/doc/concepts.tex b/doc/concepts.tex
index 46d8526..b074445 100644
--- a/doc/concepts.tex
+++ b/doc/concepts.tex
@@ -148,7 +148,7 @@ following properties are expected to hold.
   list, i.e., $B$ is a more specific superclass of $C$ than $A$ is.
 \end{itemize}
 The default linearization algorithm used in Sod is the \emph{C3} algorithm,
-which has a number of good properties described in~\cite{FIXME:C3}.
+which has a number of good properties described in~\cite{Barrett:1996:MSL}.
 It works as follows.
 \begin{itemize}
 \item A \emph{merge} of some number of input lists is a single list
diff --git a/doc/sod.tex b/doc/sod.tex
index a92d3ac..6c59c91 100644
--- a/doc/sod.tex
+++ b/doc/sod.tex
@@ -51,6 +51,7 @@
 
 \makeindex
 \let\indexstheadcase\relax
+\bibliographystyle{mdwalpha}
 
 \title{A Sensible Object Design for C}
 \author{Mark Wooding}
@@ -164,6 +165,9 @@
 %%%--------------------------------------------------------------------------
 \backmatter
 
+\bibliography{%
+  isostd,%
+  sigplan1990}
 \printindex
 
 %%%----- That's all, folks --------------------------------------------------
diff --git a/doc/structures.tex b/doc/structures.tex
index a36ae82..1014cbd 100644
--- a/doc/structures.tex
+++ b/doc/structures.tex
@@ -410,7 +410,7 @@ and this is followed by corresponding members
 \end{prog}
 for each of $C$'s superclasses $A$ in the same chain in some (unimportant)
 order.  The (somewhat obtuse) purpose of this union is to engage the `common
-initial sequence' rule of \cite[6.5.2.3]{FIXME:C99}.
+initial sequence' rule of \cite[6.5.2.3]{ISO:1990:IIP,ANSI:1999:AII}.
 
 \subsubsection{The ichain structure}
 The @|ichain| structure contains (in order), a pointer
-- 
2.11.0

