summaryrefslogtreecommitdiff
path: root/doc/reference/ProgrammingInScala.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/reference/ProgrammingInScala.tex')
-rwxr-xr-xdoc/reference/ProgrammingInScala.tex89
1 files changed, 89 insertions, 0 deletions
diff --git a/doc/reference/ProgrammingInScala.tex b/doc/reference/ProgrammingInScala.tex
new file mode 100755
index 0000000000..ce88840053
--- /dev/null
+++ b/doc/reference/ProgrammingInScala.tex
@@ -0,0 +1,89 @@
+\documentclass[a4paper,12pt,twoside,titlepage]{book}
+
+\usepackage{scaladoc}
+\usepackage{fleqn}
+\usepackage{modefs}
+\usepackage{math}
+\usepackage{scaladefs}
+\renewcommand{\todo}[1]{}
+
+
+
+\ifpdf
+ \pdfinfo {
+ /Author (Martin Odersky)
+ /Title (Programming in Scala)
+ /Keywords (Scala)
+ /Subject ()
+ /Creator (TeX)
+ /Producer (PDFLaTeX)
+ }
+\fi
+
+\renewcommand{\doctitle}{Programming in Scala\\[33mm]\ }
+\renewcommand{\docauthor}{Martin Odersky\\[53mm]\ }
+
+\begin{document}
+
+\frontmatter
+\makedoctitle
+\clearemptydoublepage
+\tableofcontents
+\mainmatter
+\sloppy
+
+\part{Rationale}
+
+\input{RationalePart}
+
+\paragraph{Acknowledgments}
+Many people have contributed to the definition and implementation of
+the Scala language and to parts of this book. First of all, I would
+like to thank the Scala team at EPFL consisting of Philippe Altherr,
+Vincent Cremet, Burak Emir, St\'ephane Micheloud, Nikolay Mihaylov,
+Michel Schinz, Erik Stenman, and Matthias Zenger. They put a lot of
+effort in the Scala compiler, tools, and documentation and have
+contributed in an essential way to the specification of the Scala
+language through many observations, clever suggestions, and
+discussions. Members of the team have also contributed examples in
+this book, as well as parts of the specification. Phil Bagwell, Gilad
+Bracha, Erik Ernst, Erik Mejer, Benjamin Pierce, Enno Runne, and Phil
+Wadler have given very useful feedback on the Scala design.
+
+The documentation ows a great debt to Abelson's and Sussman's
+wonderful book ``Structure and Interpretation of Computer
+Programs''\cite{abelson-sussman:structure}. I have adapted several of
+their examples and exercises in the ``Scala By Example'' part of this
+book. Of course, the working language has in each case been changed
+from Scheme to Scala. Furthermore, the examples make use of Scala's
+object-oriented constructs where appropriate.
+
+\part{Scala by Example}
+
+Scala is a programming language that fuses elements from
+object-oriented and functional programming. This part introduces Scala
+in an informal way, through a sequence of examples.
+
+Chapters~\ref{chap:example-one} and \ref{chap:example-auction}
+highlight some of the features that make Scala interesting. The
+following chapters introduce the language constructs of Scala in a
+more thorough way, starting with simple expressions and functions, and
+working up through objects and classes, lists and streams, mutable
+state, pattern matching to more complete examples that show
+interesting programming techniques. The present informal exposition is
+complemented by the Scala Language Reference Manual which specifies
+Scala in a more detailed and precise way.
+
+\input{ExamplesPart}
+
+\part{The Scala Language Specification \\ \ \\ \Large Version 1.0}
+
+\input{ReferencePart}
+
+\bibliographystyle{alpha}
+\bibliography{Scala}
+
+\input{ReferencePartAppendix}
+
+
+\end{document}