This is TeX, Version 3.14159 (Web2C 7.3.7) (format=latex 2003.2.25)  15 OCT 2003 18:47
**main
(./main.tex
LaTeX2e <2001/06/01>
Babel <v3.7h> and hyphenation patterns for american, french, german, ngerman, n
ohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/book.cls
Document Class: book 2001/04/21 v1.4e Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/fleqn.clo
File: fleqn.clo 1998/08/17 v1.1c Standard LaTeX option (flush left equations)
\mathindent=\dimen102
)
(/usr/share/texmf/tex/latex/base/bk12.clo
File: bk12.clo 2001/04/21 v1.4e Standard LaTeX file (size option)
)
\c@part=\count79
\c@chapter=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen103
) (./front.tex
(/usr/share/texmf/tex/latex/psnfss/times.sty
Package: times 2002/04/24 PSNFSS-v9.0 (SPQR) 
) (/home/hak/latex/a4.sty
Substyle for A4 sized documents. Released 21 April 1988
) (./main.mac (/usr/share/texmf/tex/latex/amsfonts/amsfonts.sty
Package: amsfonts 2001/10/25 v2.2f
\@emptytoks=\toks14
\symAMSa=\mathgroup4
\symAMSb=\mathgroup5
LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
(Font)                  U/euf/m/n --> U/euf/b/n on input line 132.
)
(/usr/share/texmf/tex/latex/amsmath/amsmath.sty
Package: amsmath 2000/07/18 v2.13 AMS math features
\@mathmargin=\skip43

For additional information on amsmath, use the `?' option.
(/usr/share/texmf/tex/latex/amsmath/amstext.sty
Package: amstext 2000/06/29 v2.01

(/usr/share/texmf/tex/latex/amsmath/amsgen.sty
File: amsgen.sty 1999/11/30 v2.0
\@emptytoks=\toks15
\ex@=\dimen104
))
(/usr/share/texmf/tex/latex/amsmath/amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d
\pmbraise@=\dimen105
)
(/usr/share/texmf/tex/latex/amsmath/amsopn.sty
Package: amsopn 1999/12/14 v2.01 operator names
)
\inf@bad=\count88
LaTeX Info: Redefining \frac on input line 211.
\uproot@=\count89
\leftroot@=\count90
LaTeX Info: Redefining \overline on input line 307.
\classnum@=\count91
\DOTSCASE@=\count92
LaTeX Info: Redefining \ldots on input line 379.
LaTeX Info: Redefining \dots on input line 382.
LaTeX Info: Redefining \cdots on input line 467.
\Mathstrutbox@=\box26
\strutbox@=\box27
\big@size=\dimen106
LaTeX Font Info:    Redeclaring font encoding OML on input line 567.
LaTeX Font Info:    Redeclaring font encoding OMS on input line 568.
\macc@depth=\count93
\c@MaxMatrixCols=\count94
\dotsspace@=\muskip10
\c@parentequation=\count95
\dspbrk@lvl=\count96
\tag@help=\toks16
\row@=\count97
\column@=\count98
\maxfields@=\count99
\andhelp@=\toks17
\eqnshift@=\dimen107
\alignsep@=\dimen108
\tagshift@=\dimen109
\tagwidth@=\dimen110
\totwidth@=\dimen111
\lineht@=\dimen112
\@envbody=\toks18
\multlinegap=\skip44
\multlinetaggap=\skip45
\mathdisplay@stack=\toks19
LaTeX Info: Redefining \[ on input line 2666.
LaTeX Info: Redefining \] on input line 2667.
)
(/usr/share/texmf/tex/latex/tools/theorem.sty
Package: theorem 1995/11/23 v2.2c Theorem extension package (FMi)
\theorem@style=\toks20
\theorem@bodyfont=\toks21
\theorempreskipamount=\skip46
\theorempostskipamount=\skip47

(/usr/share/texmf/tex/latex/tools/thp.sty
File: thp.sty 1995/11/23 v2.2c Theorem extension package (FMi)
))
(/usr/share/texmf/tex/latex/pstricks/pstricks.sty
Package: pstricks 1997/03/25 package wrapper for PSTricks pstricks.tex

(/usr/share/texmf/tex/generic/pstricks/pstricks.tex
`PSTricks' v97 patch 14  <1999/12/23> (tvz)
\pst@dima=\dimen113
\pst@dimb=\dimen114
\pst@dimc=\dimen115
\pst@dimd=\dimen116
\pst@dimg=\dimen117
\pst@dimh=\dimen118
\pst@hbox=\box28
\pst@boxg=\box29
\pst@cnta=\count100
\pst@cntb=\count101
\pst@cntc=\count102
\pst@cntd=\count103
\pst@cntg=\count104
\pst@cnth=\count105
\pst@toks=\toks22
(/usr/share/texmf/tex/generic/pstricks/pstricks.con)
\psunit=\dimen119
\psxunit=\dimen120
\psyunit=\dimen121
\pslinewidth=\dimen122
\pst@customdefs=\toks23
\pslinearc=\dimen123
\everypsbox=\toks24
\psframesep=\dimen124
\pslabelsep=\dimen125
\theoverlaybox=\box30
))
(/usr/share/texmf/tex/latex/pstricks/pst-node.sty
Package: pst-node 1997/03/25 package wrapper for PSTricks pst-node.tex

(/usr/share/texmf/tex/generic/pstricks/pst-node.tex  v97 patch 11, 2000/11/09
\psrow=\count106
\pscol=\count107
\psmatrixcnt=\count108
\psrowsep=\skip48
\pscolsep=\skip49
)) (/usr/share/texmf/tex/latex/misc/fancybox.sty
Package: fancybox 2000/09/19 1.3

Style option: `fancybox' v1.3 <2000/09/19> (tvz)
\@fancybox=\box31
\shadowsize=\dimen126
\@Sbox=\box32
\do@VerbBox=\toks25
\the@fancyput=\toks26
\this@fancyput=\toks27
\EndVerbatimTokens=\toks28
\Verbatim@Outfile=\write3
\Verbatim@Infile=\read1
)
\c@theorem=\count109
\c@definition=\count110
\c@corollary=\count111
\c@example=\count112
\c@exercise=\count113
\c@algolistcounter=\count114
\c@bnflistcounter=\count115
\c@bnfrulecounter=\count116
\underscorelen=\skip50
\c@globenumcounter=\count117
\c@tfcounter=\count118
\c@qcounter=\count119
\c@sqcounter=\count120
) (./inst.mac) (/usr/share/texmf/tex/latex/base/makeidx.sty
Package: makeidx 2000/03/29 v1.0m Standard LaTeX package
)
\@indexfile=\write4
\openout4 = `main.idx'.


Writing index file main.idx
(./threepart.sty
Package: threepart 
) (./main.aux (./opening.aux) (./introduction.aux)
(./overview.aux) (./kernel.aux) (./types.aux) (./instructions.aux)
(./backend.aux) (./hakl.aux) (./conclusion.aux) (./traceability.aux)
(./fourpanels.aux))
\openout1 = `main.aux'.

LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 35.
LaTeX Font Info:    ... okay on input line 35.
LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 35.
LaTeX Font Info:    ... okay on input line 35.
LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 35.
LaTeX Font Info:    ... okay on input line 35.
LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 35.
LaTeX Font Info:    ... okay on input line 35.
LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 35.
LaTeX Font Info:    ... okay on input line 35.
LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 35.
LaTeX Font Info:    ... okay on input line 35.
LaTeX Font Info:    Try loading font information for OT1+ptm on input line 35.
 (/usr/share/texmf/tex/latex/psnfss/ot1ptm.fd
File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm.
))
\openout2 = `opening.aux'.


(./opening.tex
LaTeX Font Info:    Try loading font information for OT1+pcr on input line 19.
 (/usr/share/texmf/tex/latex/psnfss/ot1pcr.fd
File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr.
)
LaTeX Font Info:    Try loading font information for OMS+ptm on input line 38.

(/usr/share/texmf/tex/latex/psnfss/omsptm.fd
File: omsptm.fd 
)
LaTeX Font Info:    Font shape `OMS/ptm/m/n' in size <10> not available
(Font)              Font shape `OMS/cmsy/m/n' tried instead on input line 38.
 [1



] (./preamble.tex [0

]
LaTeX Font Info:    Font shape `OT1/ptm/bx/n' in size <24.88> not available
(Font)              Font shape `OT1/ptm/b/n' tried instead on input line 1.
LaTeX Font Info:    Font shape `OT1/ptm/bx/n' in size <17.28> not available
(Font)              Font shape `OT1/ptm/b/n' tried instead on input line 4.
LaTeX Font Info:    Try loading font information for U+msa on input line 19.

(/usr/share/texmf/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2002/01/19 v2.2g AMS font definitions
)
LaTeX Font Info:    Try loading font information for U+msb on input line 19.

(/usr/share/texmf/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2002/01/19 v2.2g AMS font definitions
)) [1] [0] (./main.toc
LaTeX Font Info:    Font shape `OT1/ptm/bx/n' in size <12> not available
(Font)              Font shape `OT1/ptm/b/n' tried instead on input line 1.

Underfull \vbox (badness 1910) has occurred while \output is active []

 [1

]
Underfull \vbox (badness 1910) has occurred while \output is active []

 [2]
Underfull \vbox (badness 1910) has occurred while \output is active []

 [3]
LaTeX Font Info:    Font shape `OT1/ptm/bx/sc' in size <12> not available
(Font)              Font shape `OT1/ptm/b/sc' tried instead on input line 113.
LaTeX Font Info:    Font shape `OT1/pcr/bx/sc' in size <12> not available
(Font)              Font shape `OT1/pcr/b/sc' tried instead on input line 113.

[4])
\tf@toc=\write5
\openout5 = `main.toc'.

 [5])
\openout2 = `introduction.aux'.

 (./introduction.tex
Chapter 1.

Overfull \hbox (44.22516pt too wide) in paragraph at lines 19--37
\OT1/ptm/m/n/12 human-to-human com-mu-ni-ca-tion. Such lan-guages are (gen-er-a
lly) not designed---they \OT1/ptm/m/it/12 evolve\OT1/ptm/m/n/12 .[]\OT1/ptm/m/i
t/12 Programming
 []


Underfull \vbox (badness 2941) has occurred while \output is active []

 [1



]
LaTeX Font Info:    Try loading font information for U+euf on input line 87.

(/usr/share/texmf/tex/latex/amsfonts/ueuf.fd
File: ueuf.fd 2002/01/19 v2.2g AMS font definitions
)) [2]
\openout2 = `overview.aux'.

 (./overview.tex
Chapter 2.
LaTeX Font Info:    Font shape `OT1/ptm/bx/n' in size <14.4> not available
(Font)              Font shape `OT1/ptm/b/n' tried instead on input line 5.
LaTeX Font Info:    Font shape `OT1/ptm/bx/it' in size <12> not available
(Font)              Font shape `OT1/ptm/b/it' tried instead on input line 21.
) [3



]
\openout2 = `kernel.aux'.

 (./kernel.tex [4



]
Chapter 3.

Underfull \vbox (badness 3568) has occurred while \output is active []

 [5]
LaTeX Font Info:    Font shape `OMS/ptm/m/n' in size <12> not available
(Font)              Font shape `OMS/cmsy/m/n' tried instead on input line 52.

[6] [7] [8]
LaTeX Font Info:    Font shape `OT1/ptm/bx/n' in size <10.95> not available
(Font)              Font shape `OT1/ptm/b/n' tried instead on input line 278.
LaTeX Font Info:    Font shape `OT1/pcr/bx/n' in size <10.95> not available
(Font)              Font shape `OT1/pcr/b/n' tried instead on input line 278.
LaTeX Font Info:    Font shape `OT1/pcr/bx/it' in size <10.95> not available
(Font)              Font shape `OT1/pcr/b/it' tried instead on input line 278.
LaTeX Font Info:    Font shape `OT1/pcr/b/it' in size <10.95> not available
(Font)              Font shape `OT1/pcr/b/sl' tried instead on input line 278.
LaTeX Font Info:    Font shape `OT1/pcr/bx/it' in size <12> not available
(Font)              Font shape `OT1/pcr/b/it' tried instead on input line 292.
LaTeX Font Info:    Font shape `OT1/pcr/b/it' in size <12> not available
(Font)              Font shape `OT1/pcr/b/sl' tried instead on input line 292.
 [9]
LaTeX Font Info:    Font shape `OT1/pcr/bx/n' in size <12> not available
(Font)              Font shape `OT1/pcr/b/n' tried instead on input line 368.
 [10]
Overfull \hbox (2.98227pt too wide) in paragraph at lines 419--431
[]\OT1/ptm/m/n/12 Thus, the \OT1/pcr/m/n/12 Constant \OT1/ptm/m/n/12 ex-pres-si
on class is fur-ther sub-classed into: \OT1/pcr/m/n/12 Int\OT1/ptm/m/n/12 , \OT
1/pcr/m/n/12 Real\OT1/ptm/m/n/12 , \OT1/pcr/m/n/12 Char\OT1/ptm/m/n/12 , \OT1/p
cr/m/n/12 NewObject\OT1/ptm/m/n/12 ,
 []

[11] [12] [13]
LaTeX Font Info:    Font shape `OT1/pcr/m/it' in size <12> not available
(Font)              Font shape `OT1/pcr/m/sl' tried instead on input line 569.
 [14] [15] [16] [17]
Overfull \hbox (0.99127pt too wide) in paragraph at lines 733--743
\OT1/ptm/m/n/12 of the tar-get of some other ker-nel ex-pres-sion's syn-tact-in
g sugar (\OT1/ptm/m/it/12 e.g.\OT1/ptm/m/n/12 , $[][]$
 []

[18]
Underfull \vbox (badness 2318) has occurred while \output is active []

 [19]
Overfull \hbox (33.46164pt too wide) in paragraph at lines 847--855
\OT1/ptm/m/n/12 when \OT1/pcr/m/n/12 counter : Counter \OT1/ptm/m/n/12 is an ob
-ject of class \OT1/pcr/m/n/12 Counter\OT1/ptm/m/n/12 , with method (say) \OT1/
pcr/m/n/12 Counter[]set
 []


Overfull \hbox (33.33203pt too wide) in paragraph at lines 847--855
\OT1/pcr/m/n/12 : (Counter, int) -> int\OT1/ptm/m/n/12 . Then, for ex-am-ple, a
 de-fault "man-gling" $[][]$
 []


Overfull \hbox (51.23549pt too wide) in paragraph at lines 847--855
\OT1/ptm/m/n/12 char-ac-ter ('[]'), fol-lowed by '\OT1/pcr/m/n/12 (\OT1/ptm/m/n
/12 ', the ob-ject, and '\OT1/pcr/m/n/12 )\OT1/ptm/m/n/12 '; in other words: $[
][]$
 []


Overfull \hbox (30.46094pt too wide) in paragraph at lines 894--898
\OT1/ptm/m/n/12 This de-fault be-hav-ior can be over-rid-den and cus-tomized th
rough the meth-ods: \OT1/pcr/m/n/12 setNoDefault()
 []

[20] [21] [22] [23] [24] (./kernel/Comprehension.tex
Overfull \hbox (46.24501pt too wide) in paragraph at lines 52--52
[]  \OT1/pcr/m/n/10 public Comprehension (AbstractList parameters, AbstractList
 values, Expression body)[] 
 []

[25]
Overfull \hbox (16.24501pt too wide) in paragraph at lines 63--63
[]  \OT1/pcr/m/n/10 public Comprehension (Tables tables, Expression operation, 
Expression identity,[] 
 []


Overfull \hbox (100.24501pt too wide) in paragraph at lines 63--63
[]                        \OT1/pcr/m/n/10 Expression expression, AbstractList p
atterns, AbstractList expressions)[] 
 []


Overfull \hbox (130.24501pt too wide) in paragraph at lines 63--63
[]      \OT1/pcr/m/n/10 this(tables,operation,identity,expression,patterns,expr
essions,Homomorphism.DEFAULT_IN_PLACE);[] 
 []


Overfull \hbox (16.24501pt too wide) in paragraph at lines 87--87
[]  \OT1/pcr/m/n/10 public Comprehension (Tables tables, Expression operation, 
Expression identity,[] 
 []


Overfull \hbox (100.24501pt too wide) in paragraph at lines 87--87
[]                        \OT1/pcr/m/n/10 Expression expression, AbstractList p
atterns, AbstractList expressions,[] 
 []


Overfull \hbox (34.24501pt too wide) in paragraph at lines 87--87
[]      \OT1/pcr/m/n/10 _raw = new RawInfo(new Dummy("$OP$").addTypes(operation
).setExtent(operation),[] 
 []


Overfull \hbox (22.24501pt too wide) in paragraph at lines 87--87
[]                         \OT1/pcr/m/n/10 new Dummy("$ID$").addTypes(identity)
.setExtent(identity),[] 
 []

[26]
Underfull \vbox (badness 10000) has occurred while \output is active []

 [27]
Overfull \hbox (34.24501pt too wide) in paragraph at lines 197--197
[]      \OT1/pcr/m/n/10 return new Comprehension(_tables,_operation.typedCopy()
,_identity.typedCopy(),[] 
 []


Overfull \hbox (10.24501pt too wide) in paragraph at lines 197--197
[]                               \OT1/pcr/m/n/10 _raw.expression.typedCopy(),pa
tterns,expressions,[] 
 []


Overfull \hbox (28.24501pt too wide) in paragraph at lines 197--197
[]  \OT1/pcr/m/n/10 public final Expression subexpression (int n) throws NoSuch
SubexpressionException[] 
 []


Overfull \hbox (184.24501pt too wide) in paragraph at lines 197--197
[]  \OT1/pcr/m/n/10 public final Expression setSubexpression (int n, Expression
 expression) throws NoSuchSubexpressionException[] 
 []


Overfull \hbox (76.24501pt too wide) in paragraph at lines 197--197
[]  \OT1/pcr/m/n/10 public final Expression sanitizeNames (ParameterStack param
eters, ClassTypeHandle handle)[] 
 []


Underfull \vbox (badness 10000) has occurred while \output is active []

 [28]
[29]
Overfull \hbox (28.24501pt too wide) in paragraph at lines 281--281
[]            \OT1/pcr/m/n/10 // this is a generator - must check whether patte
rn is opaque parameter[] 
 []


Overfull \hbox (106.24501pt too wide) in paragraph at lines 281--281
[]            \OT1/pcr/m/n/10 if (pattern instanceof Parameter || (pattern inst
anceof Dummy && OPAQUE_PARAMETERS))[] 
 []


Overfull \hbox (34.24501pt too wide) in paragraph at lines 281--281
[]                \OT1/pcr/m/n/10 // this is an opaque parameter - it is remove
d from the substitution[] 
 []


Overfull \hbox (34.24501pt too wide) in paragraph at lines 281--281
[]                \OT1/pcr/m/n/10 // before proceeding further to the right, an
d reinstated afterwards[] 
 []


Overfull \hbox (10.24501pt too wide) in paragraph at lines 281--281
[]                \OT1/pcr/m/n/10 String name = pattern instanceof Dummy ? ((Du
mmy)pattern).name()[] 
 []


Overfull \hbox (40.24501pt too wide) in paragraph at lines 281--281
[]                                                       \OT1/pcr/m/n/10 : ((Pa
rameter)pattern).name();[] 
 []


Overfull \hbox (94.24501pt too wide) in paragraph at lines 281--281
[]              \OT1/pcr/m/n/10 { // this is not a parameter - apply the substi
tution to the pattern and proceed[] 
 []


Overfull \hbox (100.24501pt too wide) in paragraph at lines 304--304
[]        \OT1/pcr/m/n/10 _nestedComprehensionCount += ((Expression)_raw.expres
sions.get(i)).linkScopeTree(this);[] 
 []

[30]
Overfull \hbox (94.24501pt too wide) in paragraph at lines 361--361
[]        \OT1/pcr/m/n/10 _raw.patterns.set(i,_desugarPattern(i,(Expression)_ra
w.patterns.get(i),substitution));[] 
 []

[31]
Overfull \hbox (4.24501pt too wide) in paragraph at lines 361--361
[]      \OT1/pcr/m/n/10 for (int i=_raw.expressions.size()-size; i-->0;) _raw.p
atterns.add(null);[] 
 []


Overfull \hbox (40.24501pt too wide) in paragraph at lines 386--386
[]                                   \OT1/pcr/m/n/10 new IndexedExpression(new 
Dummy(s.parameter(i))));[] 
 []


Overfull \hbox (100.24501pt too wide) in paragraph at lines 451--451
[]  \OT1/pcr/m/n/10 private final Parameter _desugarPattern (int index, Express
ion pattern, HashMap substitution)[] 
 []

[32]
Overfull \hbox (88.24501pt too wide) in paragraph at lines 451--451
[]              \OT1/pcr/m/n/10 IndexedExpression value = (IndexedExpression)su
bstitution.get(variable.name());[] 
 []


Overfull \hbox (46.24501pt too wide) in paragraph at lines 451--451
[]                \OT1/pcr/m/n/10 { // this is the first occurrence - record on
ly if not a global scalar[] 
 []


Overfull \hbox (82.24501pt too wide) in paragraph at lines 451--451
[]                    \OT1/pcr/m/n/10 substitution.put(variable.name(),new Inde
xedExpression(index,variable));[] 
 []


Overfull \hbox (10.24501pt too wide) in paragraph at lines 451--451
[]                \OT1/pcr/m/n/10 { // this is a repeated occurrence - generate
 an equality filter[] 
 []


Overfull \hbox (94.24501pt too wide) in paragraph at lines 451--451
[]                  \OT1/pcr/m/n/10 variable = new Dummy(parameter = new Parame
ter(value.expression.typeRef()));[] 
 []


Overfull \hbox (46.24501pt too wide) in paragraph at lines 451--451
[]                                                       \OT1/pcr/m/n/10 value.
expression.typedCopy()));[] 
 []


Overfull \hbox (16.24501pt too wide) in paragraph at lines 451--451
[]        \OT1/pcr/m/n/10 // the pattern is an interpreted expression - generat
e an equality filter[] 
 []


Overfull \hbox (28.24501pt too wide) in paragraph at lines 451--451
[]        \OT1/pcr/m/n/10 _raw.expressions.add(new Application(_tables.equality
(),variable,pattern));[] 
 []


Underfull \vbox (badness 10000) has occurred while \output is active []

 [33]
Overfull \hbox (40.24501pt too wide) in paragraph at lines 476--476
[]  \OT1/pcr/m/n/10 private final void _desugarTuplePattern (int index, Tuple t
uple, Expression father,[] 
 []


Overfull \hbox (16.24501pt too wide) in paragraph at lines 476--476
[]          \OT1/pcr/m/n/10 _desugarNamedTuplePattern(index,(NamedTuple)tuple,f
ather,substitution);[] 
 []


Overfull \hbox (58.24501pt too wide) in paragraph at lines 476--476
[]        \OT1/pcr/m/n/10 // desugar each tuple component using the appropriate
 tuple projection as father[] 
 []


Overfull \hbox (100.24501pt too wide) in paragraph at lines 496--496
[]  \OT1/pcr/m/n/10 private final void _desugarNamedTuplePattern (int index, Na
medTuple tuple, Expression father,[] 
 []


Overfull \hbox (58.24501pt too wide) in paragraph at lines 496--496
[]        \OT1/pcr/m/n/10 // desugar each tuple component using the appropriate
 tuple projection as father[] 
 []


Overfull \hbox (106.24501pt too wide) in paragraph at lines 496--496
[]                               \OT1/pcr/m/n/10 new TupleProjection(father,new
 StringConstant(fields[i].name())),[] 
 []


Overfull \hbox (82.24501pt too wide) in paragraph at lines 530--530
[]                                           \OT1/pcr/m/n/10 TupleProjection pr
ojection, HashMap substitution)[] 
 []


Overfull \hbox (64.24501pt too wide) in paragraph at lines 530--530
[]          \OT1/pcr/m/n/10 IndexedExpression value = (IndexedExpression)substi
tution.get(variable.name());[] 
 []

[34]
Overfull \hbox (46.24501pt too wide) in paragraph at lines 530--530
[]            \OT1/pcr/m/n/10 substitution.put(variable.name(),new IndexedExpre
ssion(index,projection));[] 
 []


Overfull \hbox (76.24501pt too wide) in paragraph at lines 530--530
[]            \OT1/pcr/m/n/10 // it is a repeated occurrence or a global scalar
 - generate an equality filter[] 
 []


Overfull \hbox (52.24501pt too wide) in paragraph at lines 530--530
[]        \OT1/pcr/m/n/10 _raw.expressions.add(new Application(_tables.equality
(),projection,component));[] 
 []

[35]
Overfull \hbox (100.24501pt too wide) in paragraph at lines 592--592
[]  \OT1/pcr/m/n/10 private final static void _updateSubstitution (int index, H
ashMap partial, HashMap reference)[] 
 []

[36]
Overfull \hbox (100.24501pt too wide) in paragraph at lines 640--640
[]      \OT1/pcr/m/n/10 Qualifier[] qualifiers = new Qualifier[_raw.patterns ==
 null ? 0 : _raw.patterns.size()];[] 
 []


Overfull \hbox (70.24501pt too wide) in paragraph at lines 640--640
[]          \OT1/pcr/m/n/10 Parameter[] monoidParameters = { new Parameter("$OP
$"), new Parameter("$ID$") };[] 
 []


Overfull \hbox (40.24501pt too wide) in paragraph at lines 662--662
[]            \OT1/pcr/m/n/10 if (operation().equals(c.operation()) && identity
().equals(c.identity()))[] 
 []

[37]
Overfull \hbox (70.24501pt too wide) in paragraph at lines 764--764
[]          \OT1/pcr/m/n/10 if (qualifier.expression.containsFreeName(qualifier
s[index-1].parameter.name()))[] 
 []


Overfull \hbox (106.24501pt too wide) in paragraph at lines 764--764
[]            \OT1/pcr/m/n/10 { // collect if selector, or slicing with no sele
ctors; else, leave the filter there[] 
 []

[38]
Overfull \hbox (46.24501pt too wide) in paragraph at lines 764--764
[]          \OT1/pcr/m/n/10 if (index > 1) // if qualifiers[index-2] exists, it
 must contain a generator[] 
 []


Overfull \hbox (88.24501pt too wide) in paragraph at lines 764--764
[]            \OT1/pcr/m/n/10 if (!qualifier.expression.containsFreeName(qualif
iers[index-2].parameter.name()))[] 
 []


Overfull \hbox (118.24501pt too wide) in paragraph at lines 764--764
[]            \OT1/pcr/m/n/10 else // collect if selector, or slicing with no s
electors; else, merge into the filter[] 
 []


Overfull \hbox (10.24501pt too wide) in paragraph at lines 764--764
[]                  \OT1/pcr/m/n/10 else // merge this filter with the previous
 one using an 'and'[] 
 []


Overfull \hbox (82.24501pt too wide) in paragraph at lines 764--764
[]                    \OT1/pcr/m/n/10 qualifiers[index-1].expression = new And(
qualifiers[index-1].expression,[] 
 []


Overfull \hbox (28.24501pt too wide) in paragraph at lines 764--764
[]                                                             \OT1/pcr/m/n/10 
qualifier.expression);[] 
 []


Overfull \hbox (94.24501pt too wide) in paragraph at lines 764--764
[]          \OT1/pcr/m/n/10 else // unnest further up, or merge this filter int
o the previous one using an 'and'[] 
 []


Overfull \hbox (58.24501pt too wide) in paragraph at lines 764--764
[]                \OT1/pcr/m/n/10 qualifiers[index-1].expression = new And(qual
ifiers[index-1].expression,[] 
 []


Overfull \hbox (4.24501pt too wide) in paragraph at lines 764--764
[]                                                         \OT1/pcr/m/n/10 qual
ifier.expression);[] 
 []


Underfull \vbox (badness 10000) has occurred while \output is active []

 [39]
Overfull \hbox (46.24501pt too wide) in paragraph at lines 802--802
[]      \OT1/pcr/m/n/10 while (enclosingScope != null && enclosingScope.nestedC
omprehensionCount() == 1)[] 
 []


Overfull \hbox (88.24501pt too wide) in paragraph at lines 802--802
[]              \OT1/pcr/m/n/10 if (operation().equals(comp.operation()) && ide
ntity().equals(comp.identity()))[] 
 []

[40]
Overfull \hbox (100.24501pt too wide) in paragraph at lines 827--827
[]  \OT1/pcr/m/n/10 private final static void _eraseQualifier (int index, int u
pperLimit, Qualifier[] qualifiers)[] 
 []


Overfull \hbox (34.24501pt too wide) in paragraph at lines 837--837
[]\OT1/pcr/m/n/10 [op,id]{e | x <- e', c, Q} = f_hom(e', lambda x.[op,id]{e | Q
}, op, id, lambda x.c);[] 
 []


Overfull \hbox (58.24501pt too wide) in paragraph at lines 837--837
[]\OT1/pcr/m/n/10 [op,id]{e | x <- e', y <- e'', Q} = hom(e', lambda x.[op,id] 
{ e| y <- e'', Q}, op, id);[] 
 []


Overfull \hbox (22.24501pt too wide) in paragraph at lines 888--888
[]          \OT1/pcr/m/n/10 && qualifiers[index+1] != null && qualifiers[index+
1].parameter == null)[] 
 []


Overfull \hbox (94.24501pt too wide) in paragraph at lines 888--888
[]            \OT1/pcr/m/n/10 return _selectorExpression(qualifiers[index],qual
ifiers[index+1].expression,body);[] 
 []


Overfull \hbox (28.24501pt too wide) in paragraph at lines 888--888
[]                                       \OT1/pcr/m/n/10 new Scope(qualifiers[i
ndex].parameter,body),[] 
 []


Overfull \hbox (130.24501pt too wide) in paragraph at lines 888--888
[]                                       \OT1/pcr/m/n/10 new Scope((Parameter)q
ualifiers[index].parameter.typedCopy(),[] 
 []


Overfull \hbox (22.24501pt too wide) in paragraph at lines 888--888
[]                                                 \OT1/pcr/m/n/10 qualifiers[i
ndex+1].expression));[] 
 []

[41]
Overfull \hbox (4.24501pt too wide) in paragraph at lines 888--888
[]            \OT1/pcr/m/n/10 return new IfThenElse(qualifiers[index].expressio
n,body,_raw.id());[] 
 []


Overfull \hbox (52.24501pt too wide) in paragraph at lines 937--937
[]  \OT1/pcr/m/n/10 private final Expression _selectorExpression (Qualifier gen
erator, Expression filter,[] 
 []

[42]
Overfull \hbox (64.24501pt too wide) in paragraph at lines 937--937
[]                              \OT1/pcr/m/n/10 ((Application)generator.slicing
s.get(i)).undoDummyLocal());[] 
 []


Overfull \hbox (28.24501pt too wide) in paragraph at lines 976--976
[]  \OT1/pcr/m/n/10 public final void typeCheck (TypeChecker typeChecker) throw
s TypingErrorException[] 
 []


Overfull \hbox (16.24501pt too wide) in paragraph at lines 976--976
[]      \OT1/pcr/m/n/10 typeChecker.unify(scope.parameter(0).typeRef(),operatio
n().typeRef(),this);[] 
 []


Overfull \hbox (10.24501pt too wide) in paragraph at lines 976--976
[]      \OT1/pcr/m/n/10 typeChecker.unify(scope.parameter(1).typeRef(),identity
().typeRef(),this);[] 
 []

[43]
Overfull \hbox (106.24501pt too wide) in paragraph at lines 976--976
[]      \OT1/pcr/m/n/10 FunctionType functionType = new FunctionType(argumentTy
pes,let.typeRef()).setNoCurrying();[] 
 []


LaTeX Warning: Reference `Expression' on page 44 undefined on input line 996.


Overfull \hbox (112.24501pt too wide) in paragraph at lines 1036--1036
[]      \OT1/pcr/m/n/10 FunctionType potype = (FunctionType)((FunctionType)let.
function().checkedType()).domain(0);[] 
 []


Overfull \hbox (46.24501pt too wide) in paragraph at lines 1036--1036
[]          \OT1/pcr/m/n/10 if (otype.domain(0).isEqualTo(otype.domain(1)))   /
/ primitive comprehension[] 
 []

[44]
Overfull \hbox (22.24501pt too wide) in paragraph at lines 1051--1051
[]             \OT1/pcr/m/n/10 checkedType() == null ? type().toString() : chec
kedType().toString();[] 
 []


Overfull \hbox (10.24501pt too wide) in paragraph at lines 1109--1109
[]      \OT1/pcr/m/n/10 RawInfo (Expression operation, Expression identity, Exp
ression expression,[] 
 []

[45] [46] [47])) [48]
\openout2 = `types.aux'.

 (./types.tex
Chapter 4.
[49



] [50] [51]
Underfull \hbox (badness 2990) in paragraph at lines 174--174
[][]\OT1/ptm/m/n/10 See Ap-pendix Sec-tion B.2[] on Page 80[] for the com-plete
 class hi-er-ar-chy of types in the pack-age
 []

[52] [53] [54] [55] [56] [57]) [58]
\openout2 = `instructions.aux'.

 (./instructions.tex
Chapter 5.
[59



] [60] [61] [62] [63] [64] [65] [66] [67] [68]) [69]
\openout2 = `backend.aux'.

 (./backend.tex [70



]
Chapter 6.

Underfull \vbox (badness 10000) has occurred while \output is active []

 [71])
[72]
\openout2 = `hakl.aux'.

 (./hakl.tex
Chapter 7.
LaTeX Font Info:    Font shape `OT1/ptm/bx/sc' in size <24.88> not available
(Font)              Font shape `OT1/ptm/b/sc' tried instead on input line 8.
LaTeX Font Info:    Font shape `OT1/pcr/bx/sc' in size <24.88> not available
(Font)              Font shape `OT1/pcr/b/sc' tried instead on input line 8.

Overfull \hbox (5.22476pt too wide) in paragraph at lines 11--17
\OT1/ptm/m/n/12 This chap-ter de-tails the de-sign of a con-crete lan-guage fro
m scratch. We call this lan-guage \OT1/pcr/m/sc/12 hak[]ll\OT1/ptm/m/n/12 ---
 []

) [73



]
\openout2 = `conclusion.aux'.

 (./conclusion.tex [74



]
Chapter 8.
) [75]
\openout2 = `traceability.aux'.

 (./traceability.tex [76



]
Appendix A.

Underfull \vbox (badness 6252) has occurred while \output is active []

 [77])
[78]
\openout2 = `fourpanels.aux'.

 (./fourpanels.tex
Appendix B.
LaTeX Font Info:    Font shape `OT1/ptm/bx/it' in size <14.4> not available
(Font)              Font shape `OT1/ptm/b/it' tried instead on input line 13.
[79



] [80]
LaTeX Font Info:    Font shape `OT1/pcr/bx/n' in size <17.28> not available
(Font)              Font shape `OT1/pcr/b/n' tried instead on input line 130.
 [81]
LaTeX Font Info:    Font shape `OT1/pcr/bx/n' in size <14.4> not available
(Font)              Font shape `OT1/pcr/b/n' tried instead on input line 207.
) [82] (./main.bbl) [83


] (./main.aux (./opening.aux)
(./introduction.aux) (./overview.aux) (./kernel.aux) (./types.aux)
(./instructions.aux) (./backend.aux) (./hakl.aux) (./conclusion.aux)
(./traceability.aux) (./fourpanels.aux))

LaTeX Warning: There were undefined references.

 ) 
Here is how much of TeX's memory you used:
 3504 strings out of 10847
 38400 string characters out of 70948
 128966 words of memory out of 263001
 6301 multiletter control sequences out of 10000+0
 34039 words of font info for 106 fonts, out of 400000 for 1000
 14 hyphenation exceptions out of 1000
 32i,19n,24p,247b,429s stack positions out of 300i,100n,500p,50000b,4000s

Output written on main.dvi (92 pages, 283632 bytes).
