-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paththesis.tex
executable file
·121 lines (104 loc) · 3.13 KB
/
thesis.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
\documentclass[12pt]{ucthesis}
\usepackage{ifpdf}
\newif \ifpdf
\ifx \pdfoutput \undefined
\pdffalse
\else
\pdfoutput=1
\pdftrue
\fi
\usepackage{url}
\ifpdf
\usepackage[pdftex]{graphicx}
\usepackage[pdftex,
plainpages=false,
breaklinks=true,
colorlinks=true,
urlcolor=blue,
citecolor=blue,
linkcolor=blue,
bookmarks=true,
bookmarksopen=true,
bookmarksopenlevel=3,
pdfstartview=FitV,
pdfauthor={William Faught},
pdftitle={Interoperation for Lazy and Eager Evaluation},
pdfkeywords={thesis, masters, cal poly}]{hyperref}
\pdfcompresslevel=1
\else
\usepackage{graphicx}
\fi
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage[letterpaper]{geometry}
\usepackage{mathrsfs}
\usepackage{setspace}
\usepackage[overload]{textcase}
\usepackage{array}
\usepackage{xspace}
\usepackage{color}
\usepackage{epic}
\usepackage{textcomp}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\newtheorem{case}{Case}[theorem]
\newtheorem{subcase}{Case}[case]
\bibliographystyle{abbrv}
\setlength{\parindent}{0.25in}
\setlength{\parskip}{6pt}
\setlength{\extrarowheight}{5pt}
\geometry{verbose,nohead,tmargin=1.25in,bmargin=1in,lmargin=1.5in,rmargin=1.3in}
\setcounter{tocdepth}{2}
\newcommand{\captionfonts}{\small\bf\ssp}
\makeatletter
\long\def\@makecaption#1#2{
\vskip\abovecaptionskip
\sbox\@tempboxa{{\captionfonts #1: #2}}
\ifdim \wd \@tempboxa > \hsize
{\captionfonts #1: #2\par}
\else
\hbox to \hsize{\hfil\box\@tempboxa\hfil}
\fi
\vskip\belowcaptionskip}
\makeatother
\begin{document}
\title{Interoperation for Lazy and Eager Evaluation}
\author{William Faught}
\degreemonth{May}
\degreeyear{2011}
\degree{Master of Science}
\defensemonth{May}
\defenseyear{2011}
\numberofmembers{3}
\chair{Dr. John Clements}
\othermemberA{Dr. Gene Fisher}
\othermemberB{Dr. Phillip Nico}
\field{Computer Science}
\campus{San Luis Obispo}
\copyrightyears{seven}
\maketitle
\begin{frontmatter}
\copyrightpage
\approvalpage
\begin{abstract}
Programmers forgo existing solutions to problems in other programming languages where software interoperation proves too cumbersome; they remake solutions, rather than reuse them. To facilitate reuse, interoperation must resolve language incompatibilities transparently. To address part of this problem, we present a model of computation that resolves incompatible lazy and eager evaluation strategies using dual notions of evaluation contexts and values to mirror the lazy evaluation strategy in the eager one. This method could be extended to resolve incompatible evaluation strategies for any pair of languages with common expressions.
\end{abstract}
\begin{acknowledgements}
\indent\indent I am grateful for the support of my parents, Jerry and Jo Ann, and my uncle, Tim. I could not have done this without them.
\end{acknowledgements}
\tableofcontents
\listoffigures
\end{frontmatter}
\pagestyle{plain}
\renewcommand{\baselinestretch}{1.66}
\setlength{\belowcaptionskip}{12pt}
\input{macros.tex}
\input{chapter1.tex}
\input{chapter2.tex}
\input{chapter3.tex}
\input{chapter4.tex}
\clearpage
\bibliography{bibliography}
\bibliographystyle{plain}
\end{document}