---
title: References
layout: default
chapter: 14
---

# References

TODO (see comments in markdown source)

<!-- TODO

provide a nice reading list to get up to speed with theory,...

## Scala's Foundations
[@scala-overview-tech-report;
@odersky:scala-experiment;
@odersky:sca;
@odersky-et-al:ecoop03;
@odersky-zenger:fool12]

## Learning Scala

## Related Work

%% Article
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@article{milner:polymorphism,
  author	= {Robin Milner},
  title		= {A {T}heory of {T}ype {P}olymorphism in {P}rogramming},
  journal	= {Journal of Computer and System Sciences},
  year		= {1978},
  month		= {Dec},
  volume	= {17},
  pages		= {348-375},
  folder	= { 2-1}
}

@Article{wirth:ebnf,
  author	= "Niklaus Wirth",
  title		= "What can we do about the unnecessary diversity of notation
for syntactic definitions?",
  journal	= "Comm. ACM",
  year		= 1977,
  volume	= 20,
  pages		= "822-823",
  month		= nov
}

%% Book
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@Book{abelson-sussman:structure,
  author	= {Harold Abelson and Gerald Jay Sussman and Julie Sussman},
  title		= {The Structure and Interpretation of Computer Programs, 2nd
                  edition},
  publisher	= {MIT Press},
  address	= {Cambridge, Massachusetts},
  year		= {1996},
  url		= {http://mitpress.mit.edu/sicp/full-text/sicp/book/book.html}
}

@Book{goldberg-robson:smalltalk-language,
  author	= "Adele Goldberg and David Robson",
  title		= "{Smalltalk-80}; The {L}anguage and Its {I}mplementation",
  publisher	= "Addison-Wesley",
  year		= "1983",
  note		= "ISBN 0-201-11371-6"
}

@Book{matsumtoto:ruby,
  author	= {Yukihiro Matsumoto},
  title		= {Ruby in a {N}utshell},
  publisher	= {O'Reilly \& Associates},
  year		= "2001",
  month		= "nov",
  note		= "ISBN 0-596-00214-9"
}

@Book{rossum:python,
  author	= {Guido van Rossum and Fred L. Drake},
  title		= {The {P}ython {L}anguage {R}eference {M}anual},
  publisher	= {Network Theory Ltd},
  year		= "2003",
  month		= "sep",
  note		= {ISBN 0-954-16178-5\hspace*{\fill}\\
                  \verb@http://www.python.org/doc/current/ref/ref.html@}
}

@Manual{odersky:scala-reference,
  title =        {The {S}cala {L}anguage {S}pecification, Version 2.4},
  author =       {Martin Odersky},
  organization = {EPFL},
  month =        feb,
  year =         2007,
  note =         {http://www.scala-lang.org/docu/manuals.html}
}

@Book{odersky:scala-reference,
  ALTauthor =    {Martin Odersky},
  ALTeditor =    {},
  title =        {The {S}cala {L}anguage {S}pecification, Version 2.4},
  publisher =    {},
  year =         {},
  OPTkey =       {},
  OPTvolume =    {},
  OPTnumber =    {},
  OPTseries =    {},
  OPTaddress =   {},
  OPTedition =   {},
  OPTmonth =     {},
  OPTnote =      {},
  OPTannote =    {}
}

%% InProceedings
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@InProceedings{odersky-et-al:fool10,
  author	= {Martin Odersky and Vincent Cremet and Christine R\"ockl
                  and Matthias Zenger},
  title		= {A {N}ominal {T}heory of {O}bjects with {D}ependent {T}ypes},
  booktitle	= {Proc. FOOL 10},
  year		= 2003,
  month		= jan,
  note		= {\hspace*{\fill}\\
                  \verb@http://www.cis.upenn.edu/~bcpierce/FOOL/FOOL10.html@}
}

%% Misc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@Misc{w3c:dom,
  author	= {W3C},
  title		= {Document Object Model ({DOM})},
  howpublished	= {\hspace*{\fill}\\
                  \verb@http://www.w3.org/DOM/@}
}

@Misc{w3c:xml,
  author	= {W3C},
  title		= {Extensible {M}arkup {L}anguage ({XML})},
  howpublished	= {\hspace*{\fill}\\
                  \verb@http://www.w3.org/TR/REC-xml@}
}

@TechReport{scala-overview-tech-report,
  author =       {Martin Odersky and al.},
  title =        {An {O}verview of the {S}cala {P}rogramming {L}anguage},
  institution =  {EPFL Lausanne, Switzerland},
  year =         2004,
  number =       {IC/2004/64}
}

@InProceedings{odersky:sca,
  author =       {Martin Odersky and Matthias Zenger},
  title =        {Scalable {C}omponent {A}bstractions},
  booktitle =    {Proc. OOPSLA},
  year =         2005
}

@InProceedings{odersky-et-al:ecoop03,
  author =       {Martin Odersky and Vincent Cremet and Christine R\"ockl and Matthias Zenger},
  title =        {A {N}ominal {T}heory of {O}bjects with {D}ependent {T}ypes},
  booktitle =    {Proc. ECOOP'03},
  year =         2003,
  month =        jul,
  series =       {Springer LNCS}
}

@InCollection{cremet-odersky:pilib,
  author =       {Vincent Cremet and Martin Odersky},
  title =        {PiLib} - A {H}osted {L}anguage for {P}i-{C}alculus {S}tyle {C}oncurrency},
  booktitle =    {Domain-Specific Program Generation},
  publisher =    {Springer},
  year =         2005,
  volume =       3016,
  series =       {Lecture Notes in Computer Science}
}

@InProceedings{odersky-zenger:fool12,
  author =       {Martin Odersky and Matthias Zenger},
  title =        {Independently {E}xtensible {S}olutions to the {E}xpression {P}roblem},
  booktitle =    {Proc. FOOL 12},
  year =         2005,
  month =        jan,
  note =         {\verb@http://homepages.inf.ed.ac.uk/wadler/fool@}
}

@InProceedings{odersky:scala-experiment,
  author =       {Martin Odersky},
  title =        {The {S}cala {E}xperiment - {C}an {W}e {P}rovide {B}etter {L}anguage {S}upport for {C}omponent {S}ystems?},
  booktitle =    {Proc. ACM Symposium on Principles of Programming Languages},
  year =         2006
}

@MISC{kennedy-pierce:decidable,
  author = {Andrew J. Kennedy and Benjamin C. Pierce},
  title = {On {D}ecidability of {N}ominal {S}ubtyping with {V}ariance},
  year = {2007},
  month = jan,
  note = {FOOL-WOOD '07},
  short = {http://www.cis.upenn.edu/~bcpierce/papers/variance.pdf}
}

-->
