Using Scala to test out ideas for apps I have ran into various problems which have highlighted my lack of understanding in the underlying concepts of the programming language. To solve the problems I spent a lot of time searching the web, reading books and playing with the code ( usually using REPL ) to identify the source of the problem and developing some solutions.
I have gathered together all of the pieces of information, under general headings, to both remind myself of the solutions I developed ( I am sure that there are better solutions ), and to help anybody else who runs into similar problems.
- Operating System : Mac OS 10.10.1 ( Yosemite )
- Scala : v2.11.4
- SBT: v0.13.6
- Type System - examples of the different types systems.
- Scala - Java Interoperability - accessing Java Libraries from Scala.
- Implicits - examples of using implicits.
- Trees - examples of Tree data structures.
- Miscellaneous - collection of scala programming techniques.
- Mathematics - matrix and differential equations.
- Turing Machine - an example of a Turing Machine.
- Monoid - description and example of a Monoid.
- Type Classes - notes and examples of Type Classes.
-
To automatically run SBT after a change to the software:
<pre><code>SBT ~run </code></pre> -
To display the phases of the Scala compiler:
scala -Xshow-phases
Programming in Scala - first edition.
Strategic Scala Style: Principle of Least Power - guidelines on writing Scala.
Scala School - Basics - covers the key concepsts used in Scala.
10 Scala One Liners to Impress Your Friends - useful one line scala implementations.
A Scala Tutorial for Java programmers - covers the basics.
Scala By Example - covers more advanced areas of Scala.
Complex Numbers in Scala - good format and description of the concepts and features of Scala.