\documentclass{softlab-thesis}


%%%
%%%  The document
%%%

\begin{document}

%%%  Title page

\frontmatter

\title{%
  �������������� Calvin �� NFlint
}
\author{%
  ��������� �.\ ��������
}
\date{%
  ��������� 2002
}

\maketitle


%%%  Abstract

\begin{abstract}%
\noindent%
� ������ C ����� ��� �� �������� ��� ��������� ��� ������ ���
�������������� ����������� ��� �������� ���������� ����������.
��������� ��� ��� ���� �������� ������ ��������������� ������� ������,
��� �������������� ��� ��������� ���� �������, ��� ������ ������ ���
�������� ��� ������ ��������� ��� ��� ��� ����� ��������������� ���
������� ������. �� ������ ������� ������� �������� ��� �� ������ C
����� �� ������� ������� ISO/IEC 9899:1990. ��� ������� ����, �
������������ ��� C �������� �� ����� ����� ��������������� ������
������, ���� ��� ����� ������ �� ������������.

�� ���� �� �������� ����������� ��� ������ �������� ������������ ��� ��
������ ��������������� ANSI~C, �� ������ ���� �������� ��� ���
��������� �� ���� �� �������. ����������� ��� ��� ������
��������������� ���� ������� ���� ����� ��� ���� ������� ��������� ���
� C ����� ������ �� ������� �� ������ �����. � ������������
������������ ����� ������ �� �������������� �� ��� �������, ���������
��� ���������� ���������� ������� ��� �� C. ��������, ������ ��
���������� �� ���� ��� �� ��������� ������� ����������� ������� �� ��
����������� ��� ������������ �� C, ����� ��� ��� �������� ���������
�������� ��� ���������� ��������� ����������.

����������� �� ��������� � ������ ��� � ��������� ��� �������������
�������������, ������� ����� ��� ������� ��� ��� ���������������
������� ��� ��� ���������� ������������ ������� ��� ������������� ���
�����������. ������������ ���������� ������������ ����� ���������� ����
���������� ��� ��� ������ ������������� ���������� ��������������� ���
C, ���� � ������������� ����� ���������� ��� ��������� ��� �� ������
��������, �� �� ����� �������. �� ������������ ���� ����� ������� ����
��������� ��� ������������� ������� ��������������� ��� ������������ ��
��������������� �������������� ��� ������������.

��� ��������� ���� ���������� ��������� ��� ����������� C, ����������
���� ������������ ������������, ���� ������ ���������� ���������������
�� Haskell �� ������ ����������. � ��������� ���� ��������������� ���
��� ���������� ��� ��������� ��� ��� ���������� ��� �������������
�������������. ������ � ������� ���� ��������� ����� �� �������, �� ��
���� ������������ ����� ��������� �������������.

\begin{keywords}
������ ��������������� ANSI~C, ������� ISO/IEC 9899:1990, ������
���������, �������� ������������, �������, ��������������� �������.
\end{keywords}
\end{abstract}


%%%  Acknowledgements

\begin{acknowledgements}
���� ���'~����� �� ����������� ��� ����������� �������� ����� ���
���������, �.~������ ����������, ��� �� ������ ���������� ���
����������� ���. ���'~��� �� �������� ��� ���� ���� ��� �����������
���, ���� ������� ���������� ����� ��� �����������, ������������ ���
�������. ��������� ������ �� ���� ��� ����������� ���������,
�.�.~������ ����������������, ������ �����������, ����� ����, ���������
�������, ���� ����� ��� ���� �����������, ��� ��� ������� ��� �����
�������������� ������� ����, ��� ��������� ��������� ��� ��� ��������
���������� ��� ������.

�� ������� ��� ��� ������������ Cornell ��������� ���� ���� ��� �����
������ ��� ���� ��� ��� ���������� ��� ������� ���. �� ����� ��
����������� ��� ����������� ��� ����, �.~David Gries, ����� ��� �� ����
���� ��� �������� ��������� ����������� �� ������ �� ������� ��
��������� ��� ������� �� ��� �����, �� ���������� ���� ��� ������
������ ��� ������� ��������������� ��� ��� �������� �������� �� ������
������������. ��� ���� ������ ����� ����� �� �������� ��� ���� ���
������ ����� ��� ���������� ��� ��� ���� ����� ��� �������� �� ����
�����������.

�� ���� ��� ����������� ����������� ���������� ���� ����� ����� �����.
���������, �� ����� �� ����������� ���� ������ ��������, ���� ������,
���� ����������, ����� ������������ ��� ����� ����������� ��� ���
���������� ���������� ����, ��� ������ ��� ������� ���� ��������� ���
������������. ������, ��������� ���� ������������ ������������ ���
����������� ��� ��� ������� ���������� ��� ���� �� ��� ��������� ���
���� �� ������.

������ ����������� ������ ��� ���� ��� ��� ��������� Dragan
Ma\'{c}o\v{s} ��� �� �������� ���� ������� ��� ����� ��������
������������ ������� �� ���� �� ��������. ������, ��������� ���� ����
�����, ������ �������� ��� �� ������� ���� ���� ������ ������
�������������� ��� �������������, ���� ��� ���� ���� ��������, ������
�������, ���� ������� ��� �������� ������, ��� ��� ��������� ���� ����
����� ���� ��������� ��� �������������.

�� ����� ����� �� ����������� ���� ������ ��� ��� ����� ��� ����������
�����, ���������� ��� ����������. ���� �� ������, �� ������� ��� ����
���� ��� ����������. �����, ��������� ��� ������ ������� ��� ����������
��� ��� �� �������� ��� �������� ��� ��� ���������� �������, ����� ���
�����������, ��� ����� ��� ��������� �� ����� ���� ������� ���
�������������� ��� �� ���������� �� ��� ������� ���.

\begin{flushright}
�������� �.\ ����������,\\[6pt]
�����, 27 ����������� 1998.
\end{flushright}

\footacknowledgement{%
  ���� � �������� �������� �� �� ������� ������������� �������� \LaTeXe,
  ��������������� ��� ����� \texttt{thesis} ��� Wenzel Matiaske. �� ������
  \texttt{diagrams} ��� \texttt{QED} ��� Paul Taylor, ��� �� ����������
  ����������� ������������ ��� ����������, ���� ��������� �������, ����
  ������ ��� �� ������ \texttt{semantic} ��� Peter M{\o}ller Neergaard, ���
  �� ���������� ������� �����������.
}
\end{acknowledgements}


%%%  Various tables

\tableofcontents
\listoftables
\listoffigures


%%%  Main part of the book

\mainmatter

\chapter{��������%
  \label{ch:intro}}

�� �������� ���� ����� ��� �������� ���� ������� ��������. ����
�������~\ref{sec:intro:c} ������������ ��� ������� ���������� ���
������� ��������������� C, �� ������ ���� ������� ��� �� ��������������
���. � �������~\ref{sec:intro:semantics} �������� ��� �����������
�������� ��� ������������ ��� ������� ���������������, ���������������
���� ��� ���������� ��� ��������� �������������. �
�������~\ref{sec:intro:overview} ����� ��� ���������� ����� ���
���������. ���'~����� ���������� �� �����������, �� ������� ��� ��
������� ��������� ��� �� �������� ������������� ��� ���������� ���
������������ ��� ��������������� ��� ��� �������� ��� ����������� �����
��� ���������. ���� �������~\ref{sec:intro:related} ���������� ���
���������� ��� �������� ������� ��� �� �������� ������������� �� ��
���� ��� ���������, ���� �������~\ref{sec:intro:structure}.


\section{� ������ ��������������� C%
  \label{sec:intro:c}}

� C ����� ��� �������� ������ ��� ���� ��������� ������ ���������������
������� ������. ����������� ���� �� �������� ��� �������� 1969-1973 ���
���������� AT\&T Bell Labs �� ��� ������ ���������� ��� �� �����������
������� Unix. ������� ��� C ����� � Dennis Ritchie, � ������ ������
�������� ��� ����� ������������� ���� ������� 1971-1973. ����
���������� ����������� ��� �������� ��� ������� C, ��������� ��� ���
���� ��� Dennis Ritchie, ��������� ��� \cite{ritchie-1993-dcl}.

� ������ �������� ��� C ����� ��� ������ ��� ����������
B \cite{johnson-1973-plb}, � ����� ����������� ��� ��� Ken Thompson ���
������� 1969-1970 �� ��� ������ ���������� ��� ��� ���������� DEC
PDP-7. � B ������ �� �������� ��� ��������� ���
BCPL \cite{richards-1979-blc}, ��� ������ ��� ����������� ��� ���
Martin Richards ��� ���� ��� ��������� ��� 1960 ������ �� ��� ��������
��� ��� �������� ��������������. � ����� ������� ������� ��� C ��� ����
��������� ��� ����� � �������� ���� �� ����������� ���������� �����. ��
BCPL ��� B �� ��������� ������ ������ ���� ��� ``word'', � ������
���������� ��������� �������� ��� ``�������'' �� ��������. � ��������
���� ����� ��� C ���� ���������� ����������� �� ��������� ��������
���������� ��� ���������� ��� ��� ������� ������� ������������ ���
����� ��� ����� ��� �������� ���� ���� ����� ��� ��������� ��� 1970. ��
1973, � ������� ��� C ���� ��� ������� ������ ���� ����������� ��� ����
�������������� ��� ��� DEC PDP-11 ���� ��� ���������� ��� ��� Dennis
Ritchie. � ������ ���������� ��������� ��� ���������� �� ��������
������, ������� ������ ������� ��� �������, �������� �������� ��������
��� ���� ������ ��������������.

��� ������ ��� �����������, ������� ������� ���������� ��� ������ C
���� ��� ��������� ���������� ��� ��������������� ��� ��������. �������
���� ����� ����������� ��� ������� �����, ����� ��� ���������� ������
�����. � ����� ������ ��������� ��������� ��� �������, �� ������ ``The
C Programming Language'' ������ ������ �� ``K\&R'', ����������� ��
1978 \cite{kernighan-1978-cpl}.\footnote{� ������� ������ ����� ���
�������, ��� �������� �������������� �������, �������� ���� ������
�������� \cite{kernighan-1988-cpl}. �� ������ ``K\&R'' ���������� ��
������� �������� ��� �� ������ �� �� 1989, ���� ����������� ��� �������
�������.} ����� ����, � ������� ��� ������������ ���������� Unix ����
������ �� C ��� ���� � ���� � ������ ��� ��� �� �������������� �����
�������� ��������� �� �����������. ���� �� �������� ��� ��������� ���
1980, � ����� ��� ������� C ������� ������ ������� ��� ������� ��
����������� �������������� ������ ��� ���� ���� ���������� ���
����������� �������.

� C, ����� ��� �� ��� �������� ��� B ��� BCPL, ������ ���� ����������
��� ������� ��� ��������� �� ����������� ������������ �������
���������������, �������������� ���������� ��� ������ ����� �� �������
Fortran ��� Algol~60. ����� ��������� ���������������� ���� ���
�������������� ���������� ��� � ����� ��� ��������� ��������� ���
��������� ��� ������ �������� ����� ��������������. � C ��������������
������ ��� ��������� ��������, ��� ����������� ���� ��� ���������
�������� ��� ��� ������� ������� �������� ��� ����� ���������, �����
������ ��� ��� �� ������� ��� ��������� �������� ��� �������� ���
����������.

� C ��������� ������ ��������������� ������� ��������. ��� �� ���
������ ��������� ��� ������ �������. �� ���������� ��� �������
���������� �� ��������� ������ ��������� ��� �� ����������� ���
�������������� ����� ��� ����� ������ ���� ����������� ����������� ���,
��� ���� �� ����, �� ����������� �� C ����� ������� ���������
���������. ��� ��� ���� ������, �� ���������� ����� ����� ������ ������
�������� ���� �� ������������ ��� �������������� ��� �� ������ ��
������� ��� �� ��������������� ������������ ������ �����������. �
��������������� ���������� �������� ��� �� ������� ��� �� ����������� C
���������� �� ����������� ����������� ��� ����������� �������-������
��� ��� ��� ����������� ���� �� �� ����������� �������.

������� �� ��� Dennis Ritchie, �� �������� ��� �������������
����������� �� C ��� �� ������������� ��� ���� ��������� ��� ��� �����
��������� ��� ������� ����� ���: � ����� ����� ������ ������� ���
������� ��� � ������� ��� ��������, ��� �������� ���� ��� ���������.
����, ���� ����� ������ ������� ��� ����� �������������� ��������������
��� �������, ����� ��� ����� ������������, ��� ���� ��� ���� ���������
���� ����� ��� ��� ��������� ���������������.

�� �� 1982, �� ������� ��� ���������� ��� ������ C �� ����������
����������� ����� ���� ����������� �������� ���� ������. ����
�������������� ���������� ��� ������� ����������� ������ ��� C. � �����
������ ��� ``K\&R'' ��� ���������� ��� �� ������ ���� ����
�������������� ���� ����� �, ����� ��� ���� �� �����, ��� ���� ������
����� �� ����� ������. �� ��� ���������� ��� ��� ������������� ��� C,
�� ����������� ������ ���������� �������� (American National Standards
Institute, ANSI) ������ ��� �������� X3J11 �� ��������� ��� 1983.
������ ��� ���� ``�� ��������� ��� ������, ��������� ��� �� �����������
������� ��� �� ������ ��������������� C, ��� �� ����������� ��� �����,
��������� ������ ��� ������� ��� �� ������� �� ��������������� ���
������������ ������ ������������� ��� ������� C''. � �������� ���� ����
���������� ��� ����������� ������� �� ���������� ��� �������. � ������
������ ��� ����������� ���� � ����� ���������� �����������, ���
���������� ��� ��������� ���� ���� ���������� ���� ��� ����������
������� ����� ��� �� C. ����, � �������� ��������� �� ��������� ���
������ ����� ������� �����������, �� ��� ����� ����������� �� �� ������
���� ���������� ���������� �� C.

� ���������� ���� ������������ ��� ����� ��� 1989 ��� ���� ��
���������� �� ������� ANS~X3.159-1989 \cite{ansi-1989-ansisplc}, ��
����� �������� ����������� ��� �� ������ ��������� ��������������
(International Organization for Standardization) �� ������ ������
ISO/IEC 9899:1990 \cite{ansi-1990-plc}. �� ������� ������������� ���
��� ����� ����� �������� ��� ����� �� ����
����������� \cite{ansi-1989-ransisplc} �
���������� \cite{ansi-1994-plctc1}. � ������ ��� ������� C ���
�������������� ��� ������� ���������� ISO C, � ������� ANSI C. ��� ��
1990 ���� ��������� ��� ���������� ������������ ��� ��������, ���
���������� �� �������� �� ��� ������� ������������ �������, �� ��
��������� ``C9X'', �� �� ����� ��� 1999.

��� �� ����� ������ ��� ��������� ���, � C ���� �������������� ��� ���
�������������� ���� ������� �������� ���������, ������������������� ���
��� ����������� ������ ��� ������������ ���������� Unix. ��������������
��� �� C ����� ������ ���������� ������ ��� ���� ������� ����������
���, ������ � ������ ��������� ����� ��� �������� �� ������������
���������, �� ����������� �� C ����� ������ �����������, ������ ��
������ ����������. ���� �� �������� ��� ���������� ������ ����, � C
���� �������������� �� ����, � ����������� ���� ��������� ��������� ���
�������� ������� ���� ������� ���������������. ������ �����, ������ ��
�������� ������ ��� Concurrent C \cite{gehani-1989-cc}, Objective
C \cite{cox-1991-oopea} ��� ��������� ���
C++ \cite{stroustrup-1991-cpl, ellis-1990-acrm} ���
Java \cite{gosling-1996-jls}. ��� �������� ���������� ���������� ������
�� ���������� ������ ��� � C ��� �� �������� ��� ��������� ��� ������
��� �������������� �����������. �� ������� ��� ������� ����� ������
�������� �� ��� ����� ���� ��� �� C ��� ��������������� �� ������
�������� ��� ���� ������������� ���� ��� ���� ������� ����������� ���
����� ���������.


\section{������������ ������� ���������������%
  \label{sec:intro:semantics}}

� ������ ��� ������� ��������������� ������������ ��������� ��� ������
��������: �� \emph{�������} (syntax) ��� �� \emph{������������}
(semantics). � ������� ���������� ���� ����� ��� �� ���� ��� �����
������������� ��������� ��� �������, ������������������� ��� ���
������������. � ������������ ���������� ���� ������� ��������� �� �����
��� ���������, ��� ����� ������ �� �������� �� �������������� ��� ��
����� ����������� ��� �������. � ������������ ������ ������ ��������
��� ������������� ��� ����� ������� ���� ��������. � ���������� ���
����� ``������������'' (���� ��� �������� ��� ��� ��� �������) ������
��� ���� ��� ������� ��������� ������� ``�������''. � ������ �������
��� ����� ����� � ������ ��� �������� ������ ��� ������ ��� ���������
���� ������� ��� ��� ��������� ����.

� ������� ��� ������� ��������������� �������� ������� �� ������ �����.
���� � ���������� ������� ���� ����������� ��������� ��� ������� ������
������� ��������� �����������. � �������� ������� ��� ������ ����� ��
����������� ����� ������������, ��� ������� ����������� �� �� �����
Backus Naur Form (BNF) ��� ���������� �����. �� ����������� ����������,
� ��� ����������, ��� ����� ������� ������ ��� �������� ��� ���
���������� ����������� ��������, ��� ���� � ������ ������� �����
������� � ���������� ����� ��� � ������� ��� ������� ������� ���
�������� ���� ���������� ���� ����.

��� ��� ���� ������, � ������������ ��� ������� ���������������
�������� ������� �� ����� �����. ���� ��������� ������ ����
������������� ��� ������������, ��� ������� ����� ���������� �� ������
����������� ��� � �������� ��� ������ BNF ���������� ������ ��� �������
��� �� ������������� ������� ��� ���������� ��� �������� �����
``���������� ��� ������� ��� �������������''. �� �������� �� �� �������
��� �������� ������������, �� ������� ��� �� �����, ����������� ���
������������ ��� ��� ��������� ��� �������������.

������� ��� ������������ ��� ������ ��������������� ��� ��� ��������
���������� ������ �� ���� �������� ��� ������������� ��� ������� ��
������ ������� ���������. �� ��������������� ������� ��������������� ��
������������ ���� �������������, ���������� ��� ���������� �� ������
������. ������� ���������� ��� ������������� ����� ������ ���
���������� ������� �� ��� ������ ��������� ������� �� ��� ������� ���
��� ��������� ��������� ��� ���������� ����. �� ������ ���������� �����
������� ������������, ���� ��������� ����� ���� ��������� ��� �������
�������. ��� �������� ���������, � ��������� ��� ��������������
�������� �� ������ ��� ������� ��� ������ ��� ����� ��������� ���
�������������. ��� ��������� ���������, � ��������� ����� �������
�����������, � ����� ��� �������������, ��� � ��������������� �����
������������ �� ������������ ��� ����� ������� �� ����������������
��������.

� ������ ���� ������� ��� ������� ������������� ��� �������
��������������� ������ ��� �������� ��� 1960. �� �� ������� ������ ����
������������� ��� ������� ��������������� ������ ��������, �� ���������
������� �� ��������� ��� ������ ������������ ��������� �� ���������
����������� ������� �� �������� �������, �� ��� ����� �� ����������� ��
����������� ������ ��� �� ������� ��������� �� ���� �� �����. ������,
�� ������ ������������ ��� ������� ���� ������� ����� � ��������� ���
������� ������ ����������� ������� ��� �����������. ��� ����������
�������� ��� ����� ���� ����� � \cite{winskel-1993-fspl}, ���
� \cite{mitchell-1996-fpl} ������� ��� ����������� ���������� ���
������� ��� ��� ����������� ����������.

��� ���������� ������, �� ������� ���������� �������������
������������� �� ����� ������ ����������:
\begin{itemize}
%
\item \emph{����������� ������������} (operational semantics): ��
��������� ����� ���������� ��� ������������ ������ ���
����������������� ���� ��� �������� ��� ������������. ���
��������������� ��������� ����� � ������ ����������� ������������
(structural operational semantics). ��� ����������� �������� ������ ��
������ ��� \cite{hennessy-1990-spleiusos}
%
\item \emph{�������� ������������} (denotational semantics): ��
��������� ����� ���������� �����������, ������� ����������� ���
�������� �� �������. ���� � ��������� ������������� ������������ ����
���������� ������� ��� ������� ���������������. �� ���������
����������� ��� ��������, ����� ����� � ���������� ��� ������������
���� ������� ��������.
%
\item \emph{���������� ������������} (axiomatic semantics): ��
��������� ����������� �� ������ �����, ���� ������� ��������� ���
����������� ��������� ��� ������������. � ���������� ���� ����� �������
����� ��������� ����� ���� ���������� ��� ����������� ��� ������������.
� ���������� ������� ���� ������� ��� ����������� ������������� �����
� \cite{hoare-1969-abcp}, ��� ��� �������� ���������� ������� �����
�� \cite{de-bakker-1980-mtpc}. ������������ ���� ��� ����������, ����
������ �������� � �������� ���������� ��������� ��������� �� ���
�������� ��� ������������ \cite{dijkstra-1976-dp, gries-1981-sp}.
\end{itemize}

�� ������ �� ��������� ��� ����� �� ����� ���������� ��� ������ ��
���������������� �� �������������������. ���� �������������� �����
��������������� ��� �����������������. ���� ��� ���� ��� ��������� ���
��� ���������� �������� ��� ������������ ��������� ���������. �
����������� ��� � �������� ������������ ������� �� ��������������� ���
��� ������ ���������� ��� ��� ���������� ������, ��� ���� ��������
������� ���� ������ � ��� ���������� ���� �������. � ����������
������������ ����� ������� ��� ��� �������� ��������� ��� ������������.
������� � ��������� �������� ��� ������� ������������� ����� � ������
��������������� (rapid prototyping), �� �� ����� ��������� ���
����������� ������������ ������� ��������������� �� �������
�������������� � ����������.

�������� ����������� ��� ����� ���������� ��� ���������� ��������
������������ ��� ��� ��������������� ����������. �� ������� ����������
���������� (abstract state machines), ������� ��� �� �������������
�������� (evolving algebras) ����� ���� ������� �����������, ���
����������� ��� ��� Gurevich �� ��� ���������� ��������� ��� ��������
������� �� ������ ������� ����������� ��� ���� ��������� ��������
������������ \cite{gurevich-1992-eaads, gurevich-1995-ealg}. � ��������
������������ (action semantics), ��� ����������� ��� ���� Mosses ���
Watt, ����� ��� �������� �������� ��� ��� ������ ��������� ������� ���
��������� �������������� ��� ��� ����� ������������
������������ \cite{mosses-1992-as}.

� �������� ������������, � � ���������� ���������� ��� ������������
������� ���������������, ����� ���� ����������� ��� ����������� ���
���� Scott ��� Strachey ��� ���� ��� ��������� ��� 1960. ������ ����
������ ��������� ��� �������������� ��������� ��� ���� ��������������
�� ������� ��� �� ������������� �������, ��� ���������, ��� ����������
���� ��� ��� ��������� �������� ������� ���������������. � ����������
������� ��� �������� ������������ ����� � \cite{scott-1971-tmscl}.
����� ����������� �������� ��� ������������� ������� ������������ �����
�� \cite{tennent-1976-dspl} ��� \cite{mosses-1990-ds}. ����������
������ ��� ������������ �� ���������� ����� ��� ������� ������ ��� ���
�������� ��� ����� ���������� ����� �� \cite{milne-1976-tpls},
\cite{stoy-1977-dsssaplt}, \cite{gordon-1979-ddpl},
\cite{allison-1986-pids} ��� \cite{schmidt-1986-dsmld}. ��� ������
������������� �������� �� ���������� ���������� ����� �����
�� \cite{gunter-1992-splst}. � ������� �������� ���� ���������� ��
������ ����� ��� �� \cite{tennent-1991-spl}, ��� ���������� ������ ���
����������� �� ������� ������ �������� ��� �������� ������� ���
�������������. �� ���� ���������������� ��� ��
 \cite{mitchell-1996-fpl}, ��� ���������� ������ ��� ����������
��������� ��� �������� ������������. �����, ��� ���������� ���
����������� ������ ������� ��� \cite{jung-1996-ddshaop}.

������� �� �� �������� ����������, � ������������ ��� �������
��������������� ������������ �� ��� ��������� �����������
\emph{���������} (denotations) �� ����������� ��� ������� ������������.
�� ��������� ����� ������� ����������� ������ ������ ���� �� ����������
����������� ���������, ���� �� \emph{�����} (domains), � ������ ���
������ ����������� ��� ��������~\ref{ch:mathematics}. ��� ��� ��� �������
��������� ��� ��������� ������������� ����� � \emph{�������������}
(compositionality), ������ �� ������� ��� � �������� ���� ��������
������ �� ����������� �� ��� ��������� ������� ��� ��������� ���
�������� ��� ��������, ���� ���� ������������ ��� �� ���������� ����.
������ �� ��������� ��� ����� ���������� �� ��� ����� ��������
���������� ��� ��� ��������� ��� ��������� ��� ��� ������� ������
������ ������������� ����� ������������ ��� ���������������� ���
��������� ����������, �������� ��� �� ���������� ��� ��������-$\lambda$
($\lambda$-calculus) ���� �� ����� ����� ���� ����������. ���� �
���������� ����������� ���� ������� ��������.

��� ��� �� ������������� ������������� ��� ��������� ���������
������������� ����� � ������� ������� (modularity). ������ ������� �
���������� ���� ������ ���� ������� ������������ ����� ���������
������� ���� ������ ��� ������������. ���� ��������, ������ � ��������
������������ ����� ���� ���������� ��� ������ ����������� ��� �������
�� ������� ��������, ��� ����� ������ � ����� ��� ���� ���������
����������� ������� ���������������.\footnote{���� ������� ��������, �
���� ``����������� ������� ���������������'' �������� �������
��������������� ������ �������� ��� ���������������� ������ ���� �����
��� ��� �������� ����������, �� ������������ �� ������� ���
������������ ��� ���������������� �� ���������� ���������� ���
������������� �������. ������ ���� �� �������� ��� �� ������ �����
����������� �����������, � ��������� ��� ��� ��������. ������� �����
��������� ������ �� ��������.} ��������, ��� ����� ������ �
������������������ �������� ��� ���������� ��������� ������������� ����
������� ��������������� ��� ��� ��������� ���� ����� �������. � ������
����������� ��������������� ��� ������� ��������������� �����
���������� ��� ���� �������� ���������. ����, ���� ����������� ��� ��
����� �������� ������ �� ������� �� �������� ��� �� ������������ ���
������ �������� ��������� ��� �������� �� ������ ���������������. ����
�� ���� �������� ����� �� ������ ��������� ��� ��������� ���������
�������������.

� ����� ��� \emph{������� ����������} (category theory) ��� ���
\emph{�������} (monads) ���� �������� �� ���� ��� �������� ��� ��������
������� ��� ����� ������ ��������� ���� ��������� ��� ��������� ���
��������� �������������. ���� ��������� ��� ��� Moggi, � �����������
����������� ��� ������ ��� ������� ��� �������� ������������ ����� ���
�� ����������� �� ���������� ��� ���� ���� ������ $V$ ������� ��
�������������� �� �������� ���� ������ $M(V)$, ���� $M$ ����� ���
��������� ������ \cite{moggi-1989-clcm}. �� �������������� ��� �������
��������������� ������� �� ���������� ���������� �� ��� ��� �� ����, ��
��� ������� ������� ����� ������� ��� ��� ������������ ���, ���
�������� �� ����������� �� ��� ����� ������������� ��������� ��� ��
������. ������, �� ������� ����� �������� �������� �� ���� ������
������ ��� ��� �������� ������������ ��������������� ��� ������������
������� ���������������, ��� ������ ������������� ������� ���
������������ �����.

��� �������� ���� ������� ����� ��� �������� ��� ������� ��� ��
���������� ����� �������������� ��� � ������������ �����������
��������� �� ���� ��� ������ ��� ��� ���������. ��� ������� ��������
���� �������, � ������� ����������� ��� ��������������� �� ���� ��
�������� ��� �������� �� ������� ������������ �������� ���
��������~\ref{ch:mathematics}. ��� ���������� ��������� ���� �������
��� �� ����� ���� ��� �������� ������������, � ���������� ������������
��� \cite{moggi-1990-avpl} ��� \cite{wadler-1992-efp}.


\section{���������� ��� ���������%
  \label{sec:intro:overview}}

�� ����� ����������� ����� ��� ��������� ����� � �������� ���
���������� ���� ������� ���������� ��� ������������� ��� �������
��������������� C. � ������������ ������������ ������ �� ������ ���
�������� ����������:
\begin{itemize}
%
\item \emph{��������}: � ������ ��������� ������ �� �������� ��� ��
������� ��� ����� ��� ����� ������������ ��� ANSI~C, ���� ����
������������ ��� �������. �� ������������ ������� ���������� ���
������������� ����������� ������� ��������������� ��� ����� ��������
��� ������������ ����� ����������, �� ������ �����, ���� ����
���������� ������������ ���� ���� �����. ����������� ����� ���
������������� ��� ������� �����, ������ ������ �� ���������� ��� ���
��������� ������������ ����� ��������� �������, ��� ��� ���������� ��
����������� �� ����� ����� ���������������.
%
\item \emph{���������}: � ������ ��� ������������ ������ �� ����� ���
�� ������ ���������� ��������� ��� ANSI~C. ���� ��������� ��� �������
������������� ���� ����������� ������� ���������������, ����� ����� �
��������� ���������� ��������������� ��� �������, ��� ��� ������� ��
����������� �� ���� ��� ����� �����. ����� ������ ����� � ������������
��������� ��������������� �� ����������� ��������������� ��� ������� ��
�������� ����� ����� ��������������� (syntactic sugar). � ����� �������
������ �� ���������� ������� ���������� ��� ������ �� �����������, ���
���� ����� ������. � ������� �������, ������ ��� ��������� ��� ��������
��� �������������, ����������� ������ ���� ������� ��������, �����
����� ������ �� ������������� ��������� ��� ��� ����� ������� ��� �� ��
������� ��� �������.
%
\item \emph{��������}: � ������ ��������� ������ �� ����������� ��� ��
������� ���������. �� �������� ���� ��� ���� ��� �������� ����� ��� ��
���� ������ ��������� ����� ���������� ���� ��������, ���������,
���������� ����������, ���� ��� (������) ��� �����. � �������� ����
������� �� ����� ������������ �� ��� ������������ ���.
\end{itemize}
�� ��� ������ ���������� ���������� �� �������������� ��� ������� �����
��� ������������ ���������. ��������, � ������������ ������������
������ �� ����� ��� �� ������� �������� ��� ����������, �� ����� �� ��
�������. � �������� �� ������ �� �����������, ��� ���� ��� ���������
��� ����� ��� ����������.


%%%  Bibliography

\bibliographystyle{softlab-thesis}
\bibliography{test}


%%%  Appendices

\backmatter

\appendix

\chapter{��������� �����������}

$A \rightarrow B$ : ��������� ��� �� ����� $A$ ��� ����� $B$.


%%%  End of document

\end{document}