.. _appendix-resources: Appendix: Resources ------------------- .. todo:: consider moving most of these into the corresponding chapters as "further reading" Key resources ~~~~~~~~~~~~~ .. include:: keyresources.txt Code examples ~~~~~~~~~~~~~ The code examples for this course are at https://github.com/lucproglangcourse. (The non-Scala ones are much less likely to change.) The recommended process for exploring an example is to fork it into your own GitHub account. Please create `issues `_ and/or submit `pull requests `_ with improvements or corrections. **It is important for you to receive notifications of changes to the key examples.** - The best way to achieve this is to receive notifications through your GitHub account by watching and/or starring the repositories of interest directly. Recommended/supplementary texts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - **Scala for the Impatient, Second Edition** *By: Cay S. Horstmann* Publisher: Addison-Wesley Professional Pub. Date: December 15, 2016 `available free on Safari `_ - **Basics of Compiler Design** *By: Torben Mogensen* `available online `_ - **Learning Concurrent Programming in Scala** *By: Aleksandar Prokopec* Publisher: Packt Publishing Pub. Date: November 28, 2014 `available free on Safari `_ - **Seven Concurrency Models in Seven Weeks** *By: Paul Butcher* Publisher: Pragmatic Bookshelf Pub. Date: June 30, 2014 `available free on Safari `_ Additional texts on Scala ~~~~~~~~~~~~~~~~~~~~~~~~~ - **Hands-On Scala** *By: Li Haoyi* https://www.handsonscala.com/ `Chapters 1-5 available free `_ - **Programming in Scala, Fifth Edition** *By: Martin Odersky; Lex Spoon; Bill Venners* Publisher: Artima Press Pub. Date: June 2021 https://www.artima.com/shop/programming_in_scala_5ed - **Programming Scala, 3rd Edition** *By Dean Wampler* Publisher: O'Reilly Media, Inc. Pub. Date: June 2021 `available free on Safari `_ - **Scala Cookbook, 2nd Edition** *By: Alvin Alexander* Publisher: O'Reilly Media, Inc. Pub. Date: August 2021 `available free on Safari `_ `companion site `_ - **Scala Test-Driven Development** *By: Gaurav Sood* Publisher: Packt Publishing Pub. Date: October 27, 2016 `available free on Safari `_ - **Functional Programming in Scala** (advanced) *By: Paul Chiusano and RĂșnar Bjarnason* Foreword by Martin Odersky Publisher: Manning Publications Pub. Date: August 2014 `available free on Safari `_ Online Scala resources ~~~~~~~~~~~~~~~~~~~~~~ - `Scala Exercises by 47 Degrees (interactive tutorial, recommended) `_ - `SIGCSE Scala workshop `_ - `The Neophyte's Guide to Scala `_ - `Twitter Scala School `_ - `Scala resources from an Applied Text Analysis course `_ - `Scala documentation site `_ - `A Scala Tutorial for Java programmers `_ - `Scala API documentation `_ - `Scala style guide `_ - `Scala Cookbook (recommended) `_ - `parboiled2 parser generator `_ - `scalaz API documentation (advanced) `_ - `scalaz cheat sheet (advanced) `_ Resources on program representation and interpretation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - `Compiler design tutorial `_ - `Abstract syntax tree `_ - `Regular expressions `_ - `Context-free grammars (CFGs) `_ - `Extended BNF `_ - `Parser generators `_ - `Parser combinators `_ - `Parsing expression grammars (PEGs) `_ - `Interpreters `_ Other resources ~~~~~~~~~~~~~~~ - `Bruce Maclennan's programming language design principles `_ - `Seven languages in seven weeks `_ - `10 programming languages that could shake up IT `_ - `7 programming languages on the rise `_ - *Growing a Language* by Guy Steele: `video `_ `PDF `_ - *Origami Programming* by Jeremy Gibbons: `PDF `_ - *On Understanding Types, Data Abstraction, and Polymorphism* by Cardelli and Wegner `PDF `_ - `Learn You a Haskell for Great Good! `_ - **Masterminds of Programming, 1st Edition** *By: Federico Biancuzzi; Shane Warden* Publisher: O'Reilly Media, Inc. Pub. Date: March 27, 2009 `available free on EBL `_ - **Programming Language Pragmatics** (3rd ed.) *By: Michael L. Scott* Pub date: Mar 23, 2009 Elsevier Science & Technology `companion site `_ - **Functional Thinking** *By: Neal Ford* Publisher: O'Reilly Media, Inc. Pub. Date: July 10, 2014 `available free on Safari `_ - **Real World Haskell** *By: Bryan O'Sullivan, Don Stewart, and John Goerzen* Publisher: O'Reilly Media. Pub. Date: November 2008 `available online for free `_ - **Haskell: The Craft of Functional Programming (3rd Edition)** *By: Simon Thompson* Publisher Addison-Wesley Professional Pub. Date: 2012 `online companion site `_