[Scala][1] is a general purpose programming language principally targeting the Java Virtual Machine. Designed to express common programming patterns in a concise, elegant, and type-safe way, it fuses both imperative and functional programming styles. Its key features are:

 - Static typing
 - Advanced type system with type inference and declaration-site variance
 - Function types (including anonymous) which support *lexical closures*
 - Pattern-matching
 - Implicit parameters and conversions which support the *typeclass* and *enrich-my-library* patterns
 - Mixin composition
 - Full interoperability with Java
 - Powerful concurrency constructs
 - Advanced language constructs such as delimited continuations and an experimental macro system

For more information, see the official [Scala Introduction][2] and [Scala Documentation][3].

To search for Scala symbols such as "=>" in Code Review, you can use [symbolhound search](http://symbolhound.com/).

To search Scala documentation, you can use [Scalex](http://scalex.org/).

### Free Scala programming books and guides

*   [Programming in Scala, First Edition](http://www.artima.com/pins1ed/)
*   [Scala By Example](http://www.scala-lang.org/docu/files/ScalaByExample.pdf) (PDF)
*   [A Scala Tutorial for Java programmers](http://docs.scala-lang.org/tutorials/scala-for-java-programmers.html)
*   [Scala for Java refugees][4]
*   [Scala School](http://twitter.github.com/scala_school/)
*   [Scala Tutorials](http://scalatutorials.com/tour)
*   [Scala Tour](http://www.scala-tour.com)
*   [Scala for the Impatient](http://horstmann.com/scala/) (first part available for free at http://typesafe.com/resources/free-books)


Stack Overflow Scala Tutorial
=

 0. Introduction to Scala
  - [What's so great about Scala?][6]
 0. Variables/values
  - [Difference between `val` and `var`][7]
  - [val-mutable versus var-immutable][8]
  - [How to assign vals correctly?][9]
  - [Multiple variable declarations][10]
  - Lazy vals
      - [What do they do?][11]
      - [How are they implemented?][12]
  - [Identifier rules][13]
 0. Methods
  - [Equal sign in methods][14]
  - [Operator notation][15] and [the rules][16]
  - [Multiple ways to define a method/function][17] ([leave parentheses in method calls][18])
  - [Unary operators][19]
  - [Multiple parameter lists][20]
  - [Right-associative method names][21]
  - Side effect free methods
      - Missing parentheses at methods
      - [Why no i++ in Scala?][22]
  - [How to mix punctuation with alphanumeric characters in method names?][23]
  - [Shortcut methods (`+=`, `-=`, `*=`, ...)][24]
  - [List of "magic method" names][25] ([apply][26], unapply/unapplySeq, update)
  - Named arguments / optional parameters
  - [Type inference in return type][27]
  - [Difference between `##` and `hashCode`][28]
 0. Literals, statements and blocks
  - Difference between block and statement
  - [Weak conformance][29]
  - [Symbols][30]
  - [Difference between braces and parentheses][31]
  - [Dereference keyword (backtick usage)][32]
  - [Local definitions][33]
  - [Uses of an underscore][34]
  - [Identifier rules][35]
  - [Punctuation (operator) overview][36]
 0. Loops/recursion
  - Loop
      - [Simple loop][37]
      - [Break out of a loop][38]
      - [How to call a function x times][39]
  - Tail recursion
      - [What is tail recursion?][40]
      - [How to write tail recursive code?][41]
      - [Performance][42]
      - [Optimization rules][43]
  - [Trampolining][44]
 0. Data structures / Collections
  - [Collections design tutorial][45]
  - [Collection standard practice][46]
  - Immutable Collections
      - [List][47]
      - [Vector][48]
      - [Range][49]
      - [Tuple][50]
      - Map
      - Set
  - Mutable Collections
      - [Array][51] and [multi-dimensional Arrays][52]
      - [Buffer][53]
      - [How to use mutable Collections?][54]
      - [Mutating a mutable collection using map?][55]
  - Lazy Collections
      - [Why are they needed?][56]
      - [View][57]
      - [Iterator][58]
      - [Stream][59]
      - [Streams vs Views vs Iterators][60]
      - [Return a lazy collection][61]
  - Parallel Collections
      - [How do they work?][62]
      - [Is is possible to change their behavior?][63]
  - Conversions
      - [Casting][64] and [ascription][65]
      - [Java Collection to Scala Collection and vice versa][66]
      - [Convert to another Collections][67]
      - [breakout][68]
  - [Memory footprint][69]
  - [How are Scala collections able to return the correct collection type from an operation?][70]
 0. For-comprehension
  - [Explanation][71]
  - [nested for-expressions][72]
  - [Use `for` inside expressions][73]
 0. Enumeration
  - [Explanation][75]
 0. Pattern matching
  - Explanation
  - [Value binding (`x @ X`)][76] / type binding (`x: X`)
  - [How to do a multi-match][77]
  - [Guards][78]
  - [How to match variables or values?][79]
  - [How is pattern match implemented under the hood?][80]
  - [Exhaustive pattern][81] 
  - [Pattern match in for-expressions][83]
  - [Ignore cases / no default value][84]
  - [Conjunction][85]
  - [Pattern match PartialFunctions][86]
  - [Match Regex][87]
  - [Pattern matching with more than one match][88]
 0. Classes, objects and types
  - [Difference between `class` and `object`][89]
  - [Why is `object` a Singleton?][90]
  - [Why are singleton objects more object-oriented?][91]
  - [Companion objects][92]
  - [Difference between `class` and `type`][93]
  - [What's the difference between a class with a companion object and a class and object with the same name?][94]
  - [Static initializer][95]
  - [Constructor overloading][96]
  - [Static data in non-objects][97]
  - [How to get the static/runtime type of a class][98]
  - [Type projection (`A#B`)][99]
 0. Packages, imports and visibility identifiers
  - Imports
      - [Multiple imports / import renames / hide imports][100]
      - [Shorthand imports][101]
      - Local imports
  - Packages
      - [Nested packages][102] / [multiple package definitions][103]
      - [Package objects][104]
  - Visibility
      - Explanation
      - [Private constructors][105]
      - [Private variables][106]
 0. Inheritance
  - Explanation
  - [Early initializer][107]
 0. Extractors
  - [Explanation][108] (Example: [conjunctions][109])
  - [Infix notation for type parameters][110] (`X[A, B]` => `A X B`)
 0. Case classes
  - [Explanation][111]
  - [case classes vs. enums][112]
  - [What are the disadvantages to declaring Scala case classes][113]
  - [Compiler generated code for case classes][114]
 0. Parameterized types
  - How to declare them?
  - [Upper / lower bounds][115]
  - [Unify numerics][116]
  - [How to get around type erasure?][117]
  - [Abstract Types vs Generics][118]
  - [Variances][119]
 0. Traits
  - [Usage][120]
  - [Mixin multiple traits][121]
  - [Traits vs abstract classes][122]
  - [What does `trait A <: B` mean?][123]
  - [Linearization][124]
  - [Mixin a trait with overridden behavior][125]
  - [Dynamic mixins][126]
  - [How are they implemented under the hood?][127]
  - [How to access one of multiple traits of superclass?][128]
 0. Self references
  - [Unify types][129]
  - [Self reference naming][130]
  - [Multiple self references][131]
  - [Difference between self references and subtyping][132]
 0. Error handling
  - Exceptions
      - Explanation
      - [Stand-alone try block][133]
      - [Ignore an exception][134]
      - [Try-catch-generalization][135]
  - Option
      - [Explanation][136]
  - Either
      - [Explanation][137]
      - [How to use them?][138]
  - [What to use?][139]
 0. Type handling
  - [Context (`[A : B]`) and view bounds (`[A <% B]`)][140]
  - Types
      - [Non-Nullable type][141]
      - [Existential type][142]
      - Structural type ("duck typing")
      - [Path-dependent type][143]
      - [Union types (type disjunction)][144]
      - [Monad type][145]
      - [Compound type in structural type][146]
      - [Compound type in self references][147]
      - [Compound type in parameterized type][148]
  - [Advantages of Scala's type system][149]
 0. Annotations
  - [What are they?][150]
  - [How to use them?][151]
 0. Functions/Function literals
  - [Explanation][152]
  - [Functions vs methods][153]
  - [Pass functions][154]
  - [Currying][155]
  - [PartialFunction][156]
  - [Placeholder syntax][157] and [their replacement rules][158]
  - [Placeholder syntax with right-associative methods][159]
  - [Difference between `=> Type`, `() => Type` and `Unit => Type`][160]
  - [Functional Quicksort][161]
  - [Keyword `return` in higher order functions][162] and [performance problem with that][163]
  - [Function composition][164]
  - [Closures in Scala][165]
 0. Type safety
  - Manifest
      - [Explanation][166]
      - [How do they work?][167]
      - [Are Manifests possible in constructors?][168]
  - [Generalized Type Constraints (`<:<`, `<%<`, `=:=`)][169]
  - [Path-Dependent Types][170]
  - [Enforce type difference][171]
  - [Enforce no type bounds][172]
 0. Implicits
  - [Implicit definitions / parameters][173]
  - [Implicit conversions / Monkey patching][174]
  - [Identifier `implicitly`][175]
  - [Where does Scala look for implicits?][176]
  - [Should implicits used?][177]
  - [Style of implicits][178]
  - [Convert multiple values with one implicit conversion][179]
  - [Chaining implicits][180]
 0. Reflection
  - [What is a TypeTag and how do I use it?][181]
  - How to work with Reflection? <!-- no link yet -->
 0. Enrich-my-library pattern (formerly known as pimp-my-library)
  - [Explanation][182]
  - [CanBuildFrom][183]
  - [Returning original types while extending the Collection API][184]
 0. [Concurrency overview][185]
 0. Actors
  - [Differences between Actor implementations][186]
  - [Design Patterns][187]
  - [Worst practices][188]
 0. Use Java from Scala and vice versa
  - [Iterate over Java collection][189]
  - [Migrate Java to Scala][190]
  - [Transparent conversions useful?][191]
  - [Using Scala traits with implemented methods in Java][192]
  - [How to work with javap for Scala/Java interop?][193]
  - [Scala signatures][194]
  - [How does `abstract override` work internally?][195]
 0. XML literals
  - Explanation
 0. Scala Swing
  - Explanation
  - [Examples][196]
 0. Type Programming
  - [Overview][197]
 0. Functional Scala
  - [Is immutability expensive?][198]
  - [Is Scala functional programming slower than traditional coding?][199]
  - [OOP in a purely FP context?][200]
  - Continuations
      - [Explanation][201]
      - [How to activate them?][202]
  - [Design patterns for functional-oo hybrid languages?][203]
  - [Type programming][204]
  - [Higher kinded types][205]
  - [Type lambdas (`SomeType[({type λ[α] = Either[A, α]})#λ]`)][205]
  - [Virtual Classes][206]
  - [`forall` in Scala][207]

Further learning
-

 0. Learning Resources
  - [How can I learn more about Scala's type relationships?][208]
  - [Scala Cheat Sheet][209]
  - [Good examples of idiomatic scala code?][210]
  - [Solidifying Scala knowledge][211]
 0. REPL
  - [How does it work behind the scenes?][212]
 0. Working with `scalac` and `scala`
  - [Show syntax trees][213]
  - [Meaning of `!#` (bang-pound) in a shell script?][214]
 0. Operator precedence
  - [Specification rules][215]
  - [Actual scalac precedence implementation][216]
  - [Understanding precedence rules in practice][217]
 0. [Scala blogs to follow][218]
 0. Scala style
  - [Scala Style Guide][219]
  - [Elements of Scala Style][220]
  - [Effective Scala][221]
 0. [Functional Programming Principles in Scala][222], a free functional programming course on Coursera taught by Martin Odersky, the creator of Scala
 0. [Principles of Reactive Programming][223], a free reactive functional programming course on Coursera taught by Martin Odersky, Erik Meijer, Roland Kuhn.


  [1]: http://en.wikipedia.org/wiki/Scala_%28programming_language%29
  [2]: http://www.scala-lang.org/node/25
  [3]: http://docs.scala-lang.org
  [4]: http://www.codecommit.com/blog/scala/roundup-scala-for-java-refugees
  [5]: https://www.assembla.com/wiki/show/liftweb/Resources
  [6]: http://stackoverflow.com/questions/727078/whats-so-great-about-scala
  [7]: http://stackoverflow.com/questions/1791408/what-is-the-difference-between-a-var-and-val-definition-in-scala
  [8]: http://stackoverflow.com/questions/11386559/val-mutable-versus-var-immutable-in-scala
  [9]: http://stackoverflow.com/questions/4026564/scala-assigning-vals/4031369#4031369
  [10]: http://stackoverflow.com/questions/1981748/declaring-multiple-variables-in-scala
  [11]: http://stackoverflow.com/questions/7484928/what-does-a-lazy-val-do
  [12]: http://stackoverflow.com/questions/3041253/whats-the-hidden-cost-of-lazy-val-scala
  [13]: http://stackoverflow.com/questions/7656937/valid-identifier-characters-in-scala
  [14]: http://stackoverflow.com/questions/944111/when-to-use-the-equals-sign-in-a-scala-method-declaration
  [15]: http://stackoverflow.com/questions/1006967/scala-which-characters-can-i-omit/1014972#1014972
  [16]: http://stackoverflow.com/questions/1181533/what-are-the-precise-rules-for-when-you-can-omit-parenthesis-dots-braces-fu
  [17]: http://stackoverflow.com/questions/8303817/scala-9-ways-to-define-a-method
  [18]: http://stackoverflow.com/questions/6643030/what-is-the-rule-for-parenthesis-in-scala-method-invocation
  [19]: http://stackoverflow.com/questions/1991240/scala-method-operator-overloading
  [20]: http://stackoverflow.com/questions/4915027/two-ways-of-currying-in-scala-whats-the-use-case-for-each/4916606#4916606
  [21]: http://stackoverflow.com/questions/2827293/scala-operator-how-it-works
  [22]: http://stackoverflow.com/questions/4520463/why-no-i-in-scala
  [23]: http://stackoverflow.com/questions/3096517/do-methods-ending-with-have-a-special-meaning-in-scala
  [24]: http://stackoverflow.com/questions/5074179/val-or-var-mutable-or-immutable
  [25]: http://stackoverflow.com/questions/1483212/list-of-scalas-magic-functions
  [26]: http://stackoverflow.com/questions/1223834/how-does-scalas-apply-method-magic-work
  [27]: http://stackoverflow.com/questions/2209179/type-inference-on-method-return-type
  [28]: http://stackoverflow.com/questions/9068154/what-is-the-difference-between-and-hashcode
  [29]: http://stackoverflow.com/questions/3094380/what-is-the-concept-of-weak-conformance-in-scala
  [30]: http://stackoverflow.com/questions/1324466/practical-examples-of-using-symbols-in-scala
  [31]: http://stackoverflow.com/questions/4386127/what-is-the-formal-difference-in-scala-between-braces-and-parentheses-and-when-s
  [32]: http://stackoverflow.com/questions/1793984/using-java-lib-with-scala-reserved-words
  [33]: http://stackoverflow.com/questions/1284325/scala-equivalent-to-haskells-where-clauses/1284361#1284361
  [34]: http://stackoverflow.com/questions/8000903/what-are-all-the-uses-of-an-underscore-in-scala
  [35]: http://stackoverflow.com/questions/7656937/valid-identifier-characters-in-scala
  [36]: http://stackoverflow.com/questions/7888944/scala-punctuation-aka-symbols-operators
  [37]: http://stackoverflow.com/questions/6741787/how-would-i-translate-the-following-java-backward-counting-loop-into-scala
  [38]: http://stackoverflow.com/questions/2742719/how-do-i-break-out-of-a-loop-in-scala
  [39]: http://stackoverflow.com/questions/7530194/how-to-call-a-function-x-times-in-scala
  [40]: http://stackoverflow.com/questions/1677419/does-scala-support-tail-recursion-optimization
  [41]: http://stackoverflow.com/questions/3678569/how-to-recognize-what-is-and-what-is-not-tail-recursion
  [42]: http://stackoverflow.com/questions/1373144/scala-list-recursion-performance
  [43]: http://stackoverflow.com/questions/4785502/why-wont-the-scala-compiler-apply-tail-call-optimization-unless-a-method-is-fina
  [44]: http://stackoverflow.com/questions/1025181/hidden-features-of-scala/2853836#2853836
  [45]: http://stackoverflow.com/questions/1722137/scala-2-8-collections-design-tutorial
  [46]: http://stackoverflow.com/questions/675381/scala-collection-standard-practice
  [47]: http://stackoverflow.com/questions/1241166/preferred-way-to-create-a-scala-list
  [48]: http://stackoverflow.com/questions/6928327/when-should-i-choose-vector-in-scala
  [49]: http://stackoverflow.com/questions/2617513/scala-downwards-or-decreasing-for-loop
  [50]: http://stackoverflow.com/questions/6884298/why-is-scalas-syntax-for-tuples-so-unusual
  [51]: http://stackoverflow.com/questions/2481149/why-does-array0-1-2-array0-1-2-not-return-the-expected-result
  [52]: http://stackoverflow.com/questions/2381908/how-to-create-and-use-a-multi-dimensional-array-in-scala-2-8
  [53]: http://stackoverflow.com/questions/3368888/whats-the-best-way-to-create-a-dynamically-growing-a-array-in-scala
  [54]: http://stackoverflow.com/questions/6909783/how-to-use-mutable-collections-in-scala
  [55]: http://stackoverflow.com/questions/7184940/mutating-a-mutable-collection-using-map
  [56]: http://stackoverflow.com/questions/4795724/why-is-filter-in-front-of-foldleft-slow-scala
  [57]: http://stackoverflow.com/questions/3361478/scala-what-are-views-for-collections-and-when-would-you-want-to-use-them
  [58]: http://stackoverflow.com/questions/1527962/difference-between-iterator-and-stream-in-scala
  [59]: http://stackoverflow.com/questions/2096876/use-cases-for-streams-in-scala
  [60]: http://stackoverflow.com/questions/5159000/stream-vs-views-vs-iterators
  [61]: http://stackoverflow.com/questions/4525435/is-it-posible-in-scala-to-use-yield-to-generate-iterator-instead-of-list
  [62]: http://stackoverflow.com/questions/6329337/how-are-scala-2-9-parallel-collections-working-behind-the-scenes
  [63]: http://stackoverflow.com/questions/6039380/how-do-i-replace-the-fork-join-pool-for-a-scala-2-9-parallel-collection
  [64]: http://stackoverflow.com/questions/931463/scala-how-do-i-cast-a-variable
  [65]: http://stackoverflow.com/questions/3412068/what-are-the-differences-between-asinstanceoft-and-o-t-in-scala
  [66]: http://stackoverflow.com/questions/674713/converting-java-collection-into-scala-collection
  [67]: http://stackoverflow.com/questions/3074118/scala-how-do-i-convert-a-mapint-any-to-a-sortedmap-or-a-treemap
  [68]: http://stackoverflow.com/questions/1715681/scala-2-8-breakout
  [69]: http://stackoverflow.com/questions/6243232/scala-collection-memory-footprint-characteristics
  [70]: http://stackoverflow.com/questions/5200505/how-are-scala-collections-able-to-return-the-correct-collection-type-from-a-map-o
  [71]: http://stackoverflow.com/questions/1052476/can-someone-explain-scalas-yield
  [72]: http://stackoverflow.com/questions/2303826/how-can-i-iterate-a-list-of-lists-in-scala
  [73]: http://stackoverflow.com/questions/2955370/why-cant-i-call-methods-on-a-for-yield-expression
  [75]: http://stackoverflow.com/questions/1321745/scala-doesnt-have-enums-what-to-use-instead-of-an-enum
  [76]: http://stackoverflow.com/questions/2359014/scala-operator/2359365#2359365
  [77]: http://stackoverflow.com/questions/3222691/matching-and-binding-two-exception-classes-in-one-case-statement-in-scala-2-7
  [78]: http://stackoverflow.com/questions/2266915/does-scala-have-guards
  [79]: http://stackoverflow.com/questions/7078022/why-does-pattern-matching-in-scala-not-work-with-variables
  [80]: http://stackoverflow.com/questions/754166/how-is-pattern-matching-in-scala-implemented-at-bytecode-level
  [81]: http://stackoverflow.com/questions/4015144/scala-pattern-matching-keep-saying-match-is-not-exhaustive
 
  [83]: http://stackoverflow.com/questions/4546786/how-to-simplify-this-for-code
  [84]: http://stackoverflow.com/questions/5445163/is-there-a-way-to-ignore-a-non-matching-case
  [85]: http://stackoverflow.com/questions/2261358/pattern-matching-with-conjunctions-patterna-and-patternb
  [86]: http://stackoverflow.com/questions/7168026/how-is-match-word-omitted-in-scala
  [87]: http://stackoverflow.com/questions/4636610/regex-and-pattern-matching-in-scala
  [88]: http://stackoverflow.com/questions/7565599/pattern-matching-with-more-than-one-match
  [89]: http://stackoverflow.com/questions/1755345/scala-difference-between-object-and-class
  [90]: http://stackoverflow.com/questions/6541393/explanation-of-singleton-objects-in-scala-please
  [91]: http://stackoverflow.com/questions/4112088/why-are-singleton-objects-more-object-orientated
  [92]: http://stackoverflow.com/questions/609744/what-is-the-rationale-behind-having-companion-objects-in-scala
  [93]: http://stackoverflow.com/questions/5031640/what-is-the-difference-between-a-class-and-a-type-in-scala-and-java
  [94]: http://stackoverflow.com/questions/11604320/whats-the-difference-between-a-class-with-a-companion-object-and-a-class-and-ob
  [95]: http://stackoverflow.com/questions/6265864/why-does-a-small-change-to-this-scala-code-make-such-a-huge-difference-to-perform
  [96]: http://stackoverflow.com/questions/1095329/scala-constructor-overload
  [97]: http://stackoverflow.com/questions/1516087/in-scala-how-would-you-declare-static-data-inside-a-function
  [98]: http://stackoverflow.com/questions/1135248/scala-equivalent-of-java-java-lang-classt-object
  [99]: http://stackoverflow.com/questions/6676048/why-does-one-select-scala-type-members-with-a-hash-instead-of-a-dot
  [100]: http://stackoverflow.com/questions/2871822/how-do-i-exclude-rename-some-classes-from-import-in-scala
  [101]: http://stackoverflow.com/questions/11621083/scala-shorthand-to-import-object-foo-and-trait-bar
  [102]: http://stackoverflow.com/questions/2830248/what-are-nested-unnested-packages-in-scala-2-8
  [103]: http://stackoverflow.com/questions/3541053/multiple-packages-definition
  [104]: http://stackoverflow.com/questions/3400734/package-objects
  [105]: http://stackoverflow.com/questions/1730536/private-and-protected-constructor-in-scala
  [106]: http://stackoverflow.com/questions/6190617/how-can-i-create-a-read-only-class-member-in-scala
  [107]: http://stackoverflow.com/questions/4712468/in-scala-what-is-an-early-initializer
  [108]: http://stackoverflow.com/questions/2662984/what-are-all-the-instances-of-syntactic-sugar-in-scala/2670837#2670837
  [109]: http://stackoverflow.com/questions/4008271/explain-this-pattern-matching-code
  [110]: http://stackoverflow.com/questions/1025181/hidden-features-of-scala/4318422#4318422
  [111]: http://stackoverflow.com/questions/2312881/what-is-the-difference-between-scalas-case-class-and-class
  [112]: http://stackoverflow.com/questions/1898932/case-classes-vs-enumerations-in-scala
  [113]: http://stackoverflow.com/questions/4653424/what-are-the-disadvantages-to-declaring-scala-case-classes
  [114]: http://stackoverflow.com/questions/4526706/what-code-is-generated-for-an-equals-hashcode-method-of-a-case-class
  [115]: http://stackoverflow.com/questions/7759361/what-does-b-a-do-in-scala
  [116]: http://stackoverflow.com/questions/4709571/scala-parameterized-methods-and-arithmetic-operations
  [117]: http://stackoverflow.com/questions/1094173/how-do-i-get-around-type-erasure-on-scala-or-why-cant-i-get-the-type-parameter
  [118]: http://stackoverflow.com/questions/1154571/scala-abstract-types-vs-generics
  [119]: http://stackoverflow.com/questions/663254/scala-covariance-contravariance-question
  [120]: http://stackoverflow.com/questions/1229743/scala-traits-usage
  [121]: http://stackoverflow.com/questions/1084572/mixing-multiple-traits-in-scala/1084716#1084716
  [122]: http://stackoverflow.com/questions/1991042/scala-traits-vs-abstract-classes
  [123]: http://stackoverflow.com/questions/2123663/what-does-trait-a-b-mean
  [124]: http://stackoverflow.com/questions/7230808/inheriting-a-trait-twice
  [125]: http://stackoverflow.com/questions/1025181/hidden-features-of-scala/7105405#7105405
  [126]: http://stackoverflow.com/questions/3254232/dynamic-mixin-in-scala-is-it-possible
  [127]: http://stackoverflow.com/questions/2557303/how-are-scala-traits-compiled-into-java-bytecode
  [128]: http://stackoverflow.com/questions/7526653/how-to-access-one-of-multiple-traits-of-superclass
  [129]: http://stackoverflow.com/questions/932701/scala-two-methods-different-parameter-types-but-same-code-how-to-unify
  [130]: http://stackoverflow.com/questions/4017357/difference-between-this-and-self-in-self-type-annotations
  [131]: http://stackoverflow.com/questions/4355060/are-multiple-self-types-possible
  [132]: http://stackoverflow.com/questions/1990948/what-is-the-difference-between-scala-self-types-and-trait-subclasses
  [133]: http://stackoverflow.com/questions/1547465/what-does-scalas-try-mean-without-either-a-catch-or-finally-block
  [134]: http://stackoverflow.com/questions/3960327/how-to-ignore-exception
  [135]: http://stackoverflow.com/questions/7788803/what-are-the-use-cases-for-scala-2-9s-try-catch-generalization
  [136]: http://stackoverflow.com/questions/2079170/why-optiont
  [137]: http://stackoverflow.com/questions/1585395/using-comparison-operators-in-scalas-pattern-matching-system
  [138]: http://stackoverflow.com/questions/7131076/whats-the-deal-with-all-the-either-cruft
  [139]: http://stackoverflow.com/questions/6891018/better-to-return-none-or-throw-an-exception-when-fetching-url
  [140]: http://stackoverflow.com/questions/4465948/what-are-scala-context-and-view-bounds
  [141]: http://stackoverflow.com/questions/1522367/library-support-for-scalas-notnull-trait
  [142]: http://stackoverflow.com/questions/1031042/scalas-existential-types
  [143]: http://stackoverflow.com/questions/2693067/what-is-meant-by-scalas-path-dependent-types/2694607#2694607
  [144]: http://stackoverflow.com/questions/3508077/does-scala-have-type-disjunction-union-types
  [145]: http://stackoverflow.com/questions/2322783/how-to-add-tracing-within-a-for-comprehension/4871353#4871353
  [146]: http://stackoverflow.com/questions/1025181/hidden-features-of-scala/4311831#4311831
  [147]: http://stackoverflow.com/questions/4355060/are-multiple-self-types-possible
  [148]: http://stackoverflow.com/questions/1491283/how-do-i-setup-multiple-type-bounds-in-scala
  [149]: http://stackoverflow.com/questions/3112725/advantages-of-scalas-type-system
  [150]: http://stackoverflow.com/questions/3079603/scala-annotations-what-actually-is-that
  [151]: http://stackoverflow.com/questions/2265773/how-do-you-define-an-interface-in-scala
  [152]: http://stackoverflow.com/questions/2293592/functional-programming-scala-map-and-fold-left/2303291#2303291
  [153]: http://stackoverflow.com/questions/2529184/difference-between-method-and-function-in-scala/2530007#2530007
  [154]: http://stackoverflow.com/questions/2934568/why-does-scala-apply-thunks-automatically-sometimes
  [155]: http://stackoverflow.com/questions/1550821/scala-anonymous-function-syntax
  [156]: http://stackoverflow.com/questions/930698/why-is-partialfunction-function-in-scala
  [157]: http://stackoverflow.com/questions/1025181/hidden-features-of-scala/1083523#1083523
  [158]: http://stackoverflow.com/questions/2173373/scala-foreach-strange-behaviour
  [159]: http://stackoverflow.com/questions/9436119/scala-inverse-result-while-escaping-underscore-with
  [160]: http://stackoverflow.com/questions/4543228/whats-the-difference-between-and-unit
  [161]: http://stackoverflow.com/questions/2341890/step-by-step-explanation-of-scala-syntax-used-in-wikipedia-quick-sort-example
  [162]: http://stackoverflow.com/questions/6915701/is-non-local-return-in-scala-new
  [163]: http://stackoverflow.com/questions/6146182/how-to-optimize-for-comprehensions-and-loops-in-scala
  [164]: http://stackoverflow.com/questions/7683362/function-composition-of-methods-functions-and-partially-applied-functions-in-s
  [165]: http://stackoverflow.com/questions/9842476/closing-over-the-loop-variable-in-scala
  [166]: http://stackoverflow.com/questions/3213510/what-is-a-manifest-in-scala-and-when-do-you-need-it
  [167]: http://stackoverflow.com/questions/3587286/how-does-scalas-2-8-manifest-work
  [168]: http://stackoverflow.com/questions/7294761/why-is-the-manifest-not-available-in-the-constructor
  [169]: http://stackoverflow.com/questions/3427345/what-do-and-mean-in-scala-2-8-and-where-are-they-documented
  [170]: http://stackoverflow.com/questions/2693067/what-is-meant-by-scalas-path-dependent-types
  [171]: http://stackoverflow.com/questions/6909053/enforce-type-difference
  [172]: http://stackoverflow.com/questions/7781782/type-parameter-does-not-extend-given-type
  [173]: http://stackoverflow.com/questions/1025181/hidden-features-of-scala/1093967#1093967
  [174]: http://stackoverflow.com/questions/3119580/scala-equivalent-of-csharps-extension-methods/3119671#3119671
  [175]: http://stackoverflow.com/questions/3855595/scala-function-implicitly
  [176]: http://stackoverflow.com/questions/5598085/where-does-scala-look-for-implicits
  [177]: http://stackoverflow.com/questions/1404889/scala-implicit-usage-choices
  [178]: http://stackoverflow.com/questions/5984720/coding-with-scala-implicits-in-style
  [179]: http://stackoverflow.com/questions/7235328/is-there-any-usage-of-implicit-function-with-several-parameters-in-scala
  [180]: http://stackoverflow.com/questions/5332801/how-can-i-chain-implicits-in-scala
  [181]: http://stackoverflow.com/questions/12218641/scala-2-10-what-is-a-typetag-and-how-do-i-use-it
  [182]: http://stackoverflow.com/questions/5410846/how-do-i-apply-the-pimp-my-library-pattern-to-scala-collections/5411133#5411133
  [183]: http://stackoverflow.com/questions/1721356/scala-2-8-canbuildfrom
  [184]: http://stackoverflow.com/questions/10019529/function-which-generically-takes-a-type-and-returns-the-same-type
  [185]: http://stackoverflow.com/questions/7969557/how-are-message-passing-concurrent-languages-better-than-shared-memory-concurren
  [186]: http://stackoverflow.com/questions/5997018/whats-the-difference-between-the-different-actors-implementation-in-scala
  [187]: http://stackoverflow.com/questions/3931994/design-patterns-best-practice-for-building-actor-based-system
  [188]: http://stackoverflow.com/questions/1549251/scala-actors-worst-practices
  [189]: http://stackoverflow.com/questions/2708990/whats-the-new-way-to-iterate-over-a-java-map-in-scala-2-8-0
  [190]: http://stackoverflow.com/questions/3967683/migrating-java-to-scala
  [191]: http://stackoverflow.com/questions/1519838/java-scala-interop-transparent-list-and-map-conversion
  [192]: http://stackoverflow.com/questions/7637752/using-scala-traits-with-implemented-methods-in-java
  [193]: http://stackoverflow.com/questions/9350528/how-to-work-with-javap-for-scala-java-interop
  [194]: http://stackoverflow.com/questions/5587460/why-does-running-javap-on-a-compiled-scala-class-show-weird-entries-in-the-const
  [195]: http://stackoverflow.com/questions/9476126/can-somebody-explain-how-abstract-override-works-in-terms-of-java-code
  [196]: http://stackoverflow.com/questions/4515008/are-there-a-good-examples-of-using-scala-swing
  [197]: http://stackoverflow.com/questions/4415511/scala-type-programming-resources
  [198]: http://stackoverflow.com/questions/4101924/functional-programming-is-immutability-expensive
  [199]: http://stackoverflow.com/questions/2794823/is-scala-functional-programming-slower-than-traditional-coding
  [200]: http://stackoverflow.com/questions/4113138/oop-in-a-purely-fp-context
  [201]: http://stackoverflow.com/questions/1512930/what-are-scala-continuations-and-why-use-them
  [202]: http://stackoverflow.com/questions/2683195/how-do-i-enable-continuations-on-scala-2-8-and-beyond
  [203]: http://stackoverflow.com/questions/3084546/design-patterns-for-functional-oo-hybrid-languages
  [204]: http://stackoverflow.com/questions/4415511/scala-type-programming-resources
  [205]: http://stackoverflow.com/questions/6246719/what-is-a-higher-kinded-type-in-scala
  [206]: http://stackoverflow.com/questions/3035807/what-can-i-do-with-virtual-classes
  [207]: http://stackoverflow.com/questions/7213676/forall-in-scala
  [208]: http://stackoverflow.com/questions/7782286/how-can-i-learn-more-about-scalas-type-relationships
  [209]: http://docs.scala-lang.org/cheatsheets/
  [210]: http://stackoverflow.com/questions/11359784/good-examples-of-idiomatic-scala-code
  [211]: http://stackoverflow.com/questions/6525547/scala-example-to-help-solidify-book-knowledge
  [212]: http://stackoverflow.com/questions/7655165/what-really-happens-behind-the-scala-runtime-repl-when-running-a-scala-program
  [213]: http://stackoverflow.com/questions/9999664/how-to-examine-implicit-rich-conversions-and-implemented-traits-in-the-repl
  [214]: http://stackoverflow.com/questions/10060419/what-is-the-meaning-of-bang-pound-in-a-sh-bash-shell-script
  [215]: http://stackoverflow.com/questions/2922347/operator-precedence-in-scala
  [216]: http://stackoverflow.com/questions/7618923/actual-precedence-for-infix-operators-in-scala
  [217]: http://stackoverflow.com/questions/8266401/the-method-execution-puzzle-in-scala
  [218]: http://stackoverflow.com/questions/1445003/what-scala-blogs-do-you-regularly-follow
  [219]: http://stackoverflow.com/questions/3718674/scala-coding-styles-and-conventions
  [220]: http://stackoverflow.com/questions/1281977/elements-of-scala-style
  [221]: http://twitter.github.com/effectivescala/
  [222]: https://www.coursera.org/course/progfun
  [223]: https://www.coursera.org/course/reactive