Index
A
Abstract methods
Apache Ivy
B
Biker method
Build automation. See Simple Build Tool (SBT)
buildCalc method
Build definition
input keys
setting keys
task keys
C
Calculator parser
JavaTokenParsers
rep method
RunParser trait
charityRun method
Closure function
Collections framework
immutable classes
filter method
isDigit static method
isOdd method
list type
looping
Map
map method
Ranges
reduxio
Stream
Tuples
vector
mutable classes
queue
stack
scala.collection.immutable package
immutable Map
immutable Sequence
immutable Set
scala.collection.mutable package
Buffer type
IndexedSeq
LinearSeq
scala.collection package
Sequences
Sets
Combinators
computeArea method
Concrete methods
Convention over configuration (CoC)
Coupling
Curried functions
D
Design patterns
Adapter pattern
Factory Method pattern
Singleton pattern
Strategy pattern
Template Method pattern
Domain-specific languages (DSLs)
external
internal
doRead method
Drive method
E
Expression-oriented approach
Expression-oriented programming (EOP) model
F
Functional composition
Functional programming
call-by-name
closure
curried function
EOP model
factorial method
first-class function
function as parameter
function as variable
return a function
function composition
higher-order functions
literal/anonymous function
log method
partially applied function
pure function
recursive function
Functional style
imperative style
string array
Function values
G
Getable method
Gliding See also Traits
H
HelloWorld project
in Java
creation
enter Play console
index action
sample application
welcome page
in Scala
actions
activator distribution
controllers
directory structure
Eclipse configuration
model
MVC architecture pattern
results
router
view
Welcome page
I
Immutable collections
Map classes
Immutable implementation
Implicit class
instance.method()
J
Java interoperability
@BeanProperty
class declaration
constructor
exception handling
immutable instance variable
interfaces and Scala traits
multiple constructors
mutable instance variable
NonFiction
refactoring
Scala convention
static members and Scala objects
Java virtual machine (JVM)
K
Keep methods short
L
LibraryDependencies key
M, N
Mixin
Multi-user chat application
Mutable collections
Mutable implementation
O
Options
P, Q
Parameterized types
contravariance
covariance
immutable class
invariance
rules of variance
variance
Parser combinators
combinators
four-function calculator
Pattern matching
Any type
case classes
case _clause
Fibonacci numbers
Function1’s apply method
handleRequest method
isDefinedAt method
Lists
nested pattern
printing numbers
PrintNum.scala program
phoneBanking method
Play frameworks
key features
standalone distribution
helloworld application (see HelloWorld application)
help command
Plugins
Pure functions
formatArgs
mkString method
toString method
Putable class
R
Recursive function
Referential transparency
Resolvers key
Return statement
S
Scala
arrays
built-in control structures
filters
for expression
If expressions
match expressions
try expressions
variable binding
while loops
yielding
call-by-reference/call-by-value method
characteristics
classes and instances
classes and objects
code blocks
comments
compiler process
concise language
Concrete shapes
constructors
auxiliary constructor
getter and setter methods
parameter declaration
with parameters
private val/var methods
data types
Any
AnyRef
AnyVal
Boolean type
Char type
hierarchy
Nothing and Null types
numeric
Unit type
flying and gliding traits
functional language
functions
anonymous inner classes, and lambdas/procs
without parameter
inheritance
overriding methods
installation
interactive Scala
JVM
lightweight syntax
lists
method declaration
abstract method
override method
object oriented language
objects
companion objects
singleton objects
static, and singletons
package
program implementation
Hello world program
print numbers
ranges
scripts
seamless interoperability
string interpolation
traits, interfaces, and mixins
tuples
value classes
variables
web frameworks
lift
Play 2 (see Play frameworks)
Scala code
imperative code
mutable data structures to immutable data structures
refactor another way
single statement
vars to vals
Shape abstractions
accept method
area method
perimeter method
visitor pattern
Simple Build Tool (SBT)
activator command
build definition
CoC
coupling
hello world creation
libraryDependencies key
plugins
resolvers key
timeline
T, U
@throws annotation
Traits
class hierarchy
compiler flags
concrete method
definition
drive method
mixins
overriding
womensRun method
twice$extension method
Type inference
Type system
abstract type
higher-kinded types
implicit class
lower bound
parameterization
unified type system
String[] to Object[]
upper bound
V
Variance
W, X, Y, Z