Index: doc/refrat/.gitignore
===================================================================
--- doc/refrat/.gitignore	(revision c8771e93e6d4564902cf2d844a910b7d37038815)
+++ doc/refrat/.gitignore	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
@@ -1,14 +1,4 @@
 # generated by latex
-*.aux
-*.bbl
-*.blg
-*.brf
-*.dvi
-*.idx
-*.ilg
-*.ind
-*.log
-*.out
+build/*
 *.pdf
 *.ps
-*.toc
Index: doc/refrat/Makefile
===================================================================
--- doc/refrat/Makefile	(revision c8771e93e6d4564902cf2d844a910b7d37038815)
+++ doc/refrat/Makefile	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
@@ -1,7 +1,13 @@
-## Define the appropriate configuration variables.
+## Define the configuration variables.
 
-TeXLIB = .:../LaTeXmacros:../LaTeXmacros/listings:../LaTeXmacros/enumitem:../bibliography/:
-LaTeX  = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error
+Build = build
+Figures = figures
+Macros = ../LaTeXmacros
+TeXLIB = .:${Macros}:${Build}:../bibliography:
+LaTeX  = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
 BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex
+
+MAKEFLAGS = --no-print-directory --silent #
+VPATH = ${Figures}
 
 ## Define the text source files.
@@ -31,9 +37,10 @@
 # Directives #
 
+.PHONY : all clean					# not file names
+
 all : ${DOCUMENT}
 
 clean :
-	rm -f *.bbl *.aux *.dvi *.idx *.ilg *.ind *.brf *.out *.log *.toc *.blg *.pstex_t *.cf \
-		${FIGURES} ${PICTURES} ${PROGRAMS} ${GRAPHS} ${basename ${DOCUMENT}}.ps ${DOCUMENT}
+	@rm -frv ${DOCUMENT} ${basename ${DOCUMENT}}.ps ${Build}
 
 # File Dependencies #
@@ -43,18 +50,19 @@
 
 ${basename ${DOCUMENT}}.ps : ${basename ${DOCUMENT}}.dvi
-	dvips $< -o $@
+	dvips ${Build}/$< -o $@
 
-${basename ${DOCUMENT}}.dvi : Makefile ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} ${basename ${DOCUMENT}}.tex \
-		../LaTeXmacros/common.tex ../LaTeXmacros/lstlang.sty ../LaTeXmacros/indexstyle ../bibliography/cfa.bib
+${basename ${DOCUMENT}}.dvi : Makefile ${Build} ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} ${basename ${DOCUMENT}}.tex \
+		${Macros}/common.tex ${Macros}/lstlang.sty ${Macros}/indexstyle ../bibliography/pl.bib
 	# Conditionally create an empty *.ind (index) file for inclusion until makeindex is run.
-	if [ ! -r ${basename $@}.ind ] ; then touch ${basename $@}.ind ; fi
+	if [ ! -r ${basename $@}.ind ] ; then touch ${Build}/${basename $@}.ind ; fi
 	# Must have *.aux file containing citations for bibtex
 	if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} ${basename $@}.tex ; fi
-	-${BibTeX} ${basename $@}
-	# Some citations reference others so run steps again to resolve these citations
+	-${BibTeX} ${Build}/${basename $@}
+	# Some citations reference others so run again to resolve these citations
 	${LaTeX} ${basename $@}.tex
-	-${BibTeX} ${basename $@}
+	-${BibTeX} ${Build}/${basename $@}
 	# Make index from *.aux entries and input index at end of document
-	makeindex -s ../LaTeXmacros/indexstyle ${basename $@}.idx
+	makeindex -s ${Macros}/indexstyle ${Build}/${basename $@}.idx
+	# Run again to finish citations
 	${LaTeX} ${basename $@}.tex
 	# Run again to get index title into table of contents
@@ -66,13 +74,16 @@
 ## Define the default recipes.
 
+${Build}:
+	mkdir -p ${Build}
+
 %.tex : %.fig
-	fig2dev -L eepic $< > $@
+	fig2dev -L eepic $< > ${Build}/$@
 
 %.ps : %.fig
-	fig2dev -L ps $< > $@
+	fig2dev -L ps $< > ${Build}/$@
 
 %.pstex : %.fig
-	fig2dev -L pstex $< > $@
-	fig2dev -L pstex_t -p $@ $< > $@_t
+	fig2dev -L pstex $< > ${Build}/$@
+	fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
 
 # Local Variables: #
Index: doc/refrat/refrat.bib
===================================================================
--- doc/refrat/refrat.bib	(revision c8771e93e6d4564902cf2d844a910b7d37038815)
+++ 	(revision )
@@ -1,119 +1,0 @@
-@string{sigplan="SIGPLAN Notices"}
-
-@manual{ANS:C,
-    keywords	= {ANSI C},
-    contributer	= {gjditchfield@msg},
-    title	= {American National Standard for Information Systems --
-	  Programming Language -- {C}},
-    organization= {American National Standards Institute},
-    address	= {1430 Broadway, New York, New York  10018},
-    month	= dec, year	= 1989,
-    note	= {X3.159-1989}
-}
-
-@manual{ANS:C11,
-    keywords	= {ANS:C11},
-    contributer	= {gjditchfield@acm.org},
-    title	= {American National Standard Information Systems --
-	  Programming languages -- {C}},
-    organization= {American National Standards Institute},
-    address	= {25 West 43rd Street, New York, New York 10036},
-    month	= may, year	= 2012,
-    note	= {INCITS/ISO/IEC 9899-2011[2012]}
-}
-
-@book{c++,
-    keywords	= {C++, ANSI},
-    author	= {Margaret A. Ellis and Bjarne Stroustrup},
-    title	= {The Annotated {C}{\tt ++} Reference Manual},
-    publisher	= {Addison Wesley},
-    year	= 1990,
-    edition	= {first}
-}
-
-@Unpublished{Ditchfield96:Overview,
-    author	= "Glen Ditchfield",
-    title	= "An Overview of Cforall",
-    note	= "in preparation",
-    year	= 1996
-}
-
-@article{Bak:overload,
-    keywords	= {compilation},
-    contributer	= {gjditchfield@msg},
-    author	= {T. P. Baker},
-    title	= {A One-Pass Algorithm for Overload Resolution in {Ada}},
-    journal	= toplas,
-    year	= 1982,
-    month	= oct, volume	= 4, number	= 4, pages	= {601--614},
-    abstract	= {
-        A simple method is presented for detecting ambiguities and finding
-	the correct interpretations of expressions in the programming
-	language Ada.  Unlike previously reported solutions to this
-	problem, which require multiple passes over a tree structure, the
-	method described here operates in one bottom-up pass, during which
-	a directed acyclic graph is produced.  The correctness of this
-	approach is demonstrated by a brief formal argument.
-    },
-    comment	= {
-	See also \cite{D:overload}.
-	}
-}
-
-@article{Cormack90,
-    keywords	= {polymorphism},
-    contributer	= {pabuhr@msg},
-    author	= {G. V. Cormack and A. K. Wright},
-    title	= {Type-dependent Parameter Inference},
-    journal	= sigplan,
-    volume	= 25,
-    number	= 6,
-    month	= jun,
-    year	= 1990,
-    pages	= {127--136},
-    note	= {Proceedings of the ACM Sigplan'90 Conference on Programming Language Design and Implementation
-		   June 20-22, 1990, White Plains, New York, U.S.A.},
-}
-
-@book{clu,
-    keywords	= {CLU},
-    contributer	= {gjditchfield@msg},
-    author	= {Barbara Liskov and Russell Atkinson and Toby Bloom and Eliot
-    Moss and J. Craig Schaffert and Robert Scheifler and Alan Snyder},
-    title	= {CLU Reference Manual},
-    publisher	= {Springer-Verlag},
-    year	= 1981,
-    volume	= 114,
-    series	= {Lecture Notes in Computer Science}
-}
-
-@manual{SIMULA87,
-    keywords	= {Simula standard},
-    contributer	= {gjditchfield@msg},
-    title	= {Databehandling -- Programspr{\aa}k -- {SIMULA}},
-    organization	= {Standardiseringskommissionen i Sverige},
-    note	= {Svensk Standard SS 63 61 14},
-    year	= 1987,
-    abstract	= {
-        Standard for the programming language SIMULA.  Written in English.
-    }
-}
-
-@manual{ada,
-    keywords	= {Ada, packages, tasks, exceptions},
-    contributer	= {pabuhr@msg},
-    title	= {The Programming Language {Ada}: Reference Manual},
-    organization= {United States Department of Defense},
-    edition	= {{ANSI/MIL-STD-1815A-1983}},
-    month	= feb,
-    year	= 1983,
-    note	= {Published by Springer-Verlag}
-}
-
-@inproceedings{Thompson90new,
-    title	= {A New {C} Compiler},
-    author	= {Ken Thompson},
-    booktitle	= {Proceedings of the Summer 1990 UKUUG Conference},
-    year	= 1990,
-    pages	= {41--51}
-}
Index: doc/refrat/refrat.tex
===================================================================
--- doc/refrat/refrat.tex	(revision c8771e93e6d4564902cf2d844a910b7d37038815)
+++ doc/refrat/refrat.tex	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
@@ -11,6 +11,6 @@
 %% Created On       : Wed Apr  6 14:52:25 2016
 %% Last Modified By : Peter A. Buhr
-%% Last Modified On : Tue Aug 15 18:46:31 2017
-%% Update Count     : 106
+%% Last Modified On : Wed Jan 31 17:30:23 2018
+%% Update Count     : 108
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -141,6 +141,5 @@
 The manual deliberately imitates the ordering of the \Celeven standard (although the section numbering differs).
 Unfortunately, this means the manual contains more ``forward references'' than usual, making it harder to follow if the reader does not have a copy of the \Celeven standard.
-For a simple introduction to \CFA, see the companion document ``An Overview of \CFA''
-\cite{Ditchfield96:Overview}.
+For a simple introduction to \CFA, see~\cite{Cforall}.
 
 \begin{rationale}
@@ -596,5 +595,5 @@
 \begin{rationale}
 Since each subsection describes the interpretations of an expression in terms of the interpretations of its subexpressions, this chapter can be taken as describing an overload resolution algorithm that uses one bottom-up pass over an expression tree.
-Such an algorithm was first described (for Ada) by Baker~\cite{Bak:overload}.
+Such an algorithm was first described (for Ada) by Baker~\cite{Baker82}.
 It is extended here to handle polymorphic functions and arithmetic conversions.
 The overload resolution rules and the predefined functions have been chosen so that, in programs that do not introduce overloaded declarations, expressions will have the same meaning in C and in \CFA.
@@ -3775,5 +3774,5 @@
 
 \bibliographystyle{plain}
-\bibliography{cfa}
+\bibliography{pl}
 
 
