diff options
author | Martin Odersky <odersky@gmail.com> | 2004-01-20 14:01:27 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2004-01-20 14:01:27 +0000 |
commit | f8865bfa8582aeec2a928e29274b37b5e5b57cb7 (patch) | |
tree | d8f4e5b9df4b2be69b670d9997efc82b7c8ebd45 /doc/reference/ProgrammingInScala.tex | |
parent | bbadab7e722fd89987f6df1bce6eb3ba9fa93ad0 (diff) | |
download | scala-f8865bfa8582aeec2a928e29274b37b5e5b57cb7.tar.gz scala-f8865bfa8582aeec2a928e29274b37b5e5b57cb7.tar.bz2 scala-f8865bfa8582aeec2a928e29274b37b5e5b57cb7.zip |
*** empty log message ***
Diffstat (limited to 'doc/reference/ProgrammingInScala.tex')
-rwxr-xr-x | doc/reference/ProgrammingInScala.tex | 89 |
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} |