% This file is part of Oaklisp.
%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.
%
% The GNU GPL is available at http://www.gnu.org/licenses/gpl.html
% or from the Free Software Foundation, 59 Temple Place - Suite 330,
% Boston, MA 02111-1307, USA



\chapter{Introduction}

This document describes the internals of the CMU implementation of
Oaklisp.  Although this implementation is designed for portability
through the use of a bytecode interpreter written in C, the
fundemental data structures and memory formats would also be suitable
for a high performance implementation.  In spite of the fact that
Oaklisp has the potential performance penalty of being uniformly
object-oriented, this implementation has proven more than competitive
with other bytecode based implementations of Scheme, such at MIT's
CScheme and Semantic Microsystems' MacScheme.  An abbreviated version
of some of the information presented here is available as a book
chapter \citep{PEARLMUTTER-LANG90A}.

\section{Disclaimer}

\emph{Warning:} this document may contain inaccuracies, and it lags
behind the implementation as the system evolves.
