Proposed levels of skill for the scala programming language, can be used as a base for a curriculum
Related links:
- the scala style guide.
- a scala basic exam
- examples of scala abuses
- sample training curriculum Artima
- Java-like statements and expressions: standard operators, method calls, conditionals, loops, try/catch
- class, object, def, val, var, import, package
- Infix notation for method calls
- Simple closures
- Collections with map, filter, etc
- for-expressions
- Pattern matching
- Trait composition
- Recursion, in particular tail recursion
- XML literals
- Folds
- Streams
- Actors
- Combinator parsers
- Type parameters
- Traits
- Lazy vals
- Control abstraction, currying
- By-name parameters
- Variance annotations
- Existential types (to interface with Java wildcards)
- Abstract types
- Self types
- Structural types
- Extractors
- Early initializers
- Implicit definitions
- Higher-kinded types
- Defining map/flatmap/withFilter for new kinds of for-expressions