\documentclass[12pt]{article}

\usepackage{times,mathptm}
\pagestyle{myheadings}



\parindent 0in
\setlength{\parindent}{0in}
\setlength{\parskip}{1ex}

\topmargin -0.1in \headheight\baselineskip
\textheight 8.5in         % 1in top and bottom margin
\textwidth 6.5in        % 1in left and right margin
\oddsidemargin 0in
\evensidemargin 0in




%\usepackage{amsmath}
%\usepackage{amssymb}


% \setlength{\itemsep}{0pt}

\markright{\footnotesize CS 451 Programming Paradigms, Spring 2001}

\begin{document}

\section*{Homework set 15: Larger programs in the $\lambda$-calculus --- due Thursday 5 April}

Total number of points available on this homework is 100. Full credit
is equivalent to 100 points.


Use your $\lambda$-calculus evaluator to test the programs you develop here.
Report how fast the evaluator works for different inputs or input sizes. (Take
into account that with a unary representation, different numbers have
different sizes.)

\begin{enumerate}

\item   (30 pts.)
Implement the factorial function over Church numerals. (Use the
$\textsf{\textbf{Y}}$ combinator.)


\item   (70 pts.)
Implement a list merge-sort algorithm. It should be a direct translation
of the ML program \texttt{mergeSort} from Ullman, page~83 (also see
\texttt{merge}, page~68). Sort some lists of Church numerals.



\end{enumerate}


\end{document}



