Any
class, 21AnyRef
, 21-22, 24-26AnyVal
, 21-22, 30
bounded types, 115, 121, 122
bottom type, 26, 27
CFR, decompiler, 44
call-by-name, 149-150
companion object, 55, 63-66
contravariance, 34, 135-136
constructor, auxiliary, 58-59, 71
constructor, primary, 52, 55-59
covariance, 34, 115, 135
defining values, 11
default value, 35, 59, 60
defining functions, 12
diamond operator, 116
expressions vs. statements, 98
function literal, 35, 86, 145
functor, 186, 212
for comprehension, 36, 109, 187, 191-196
higher-order function, 4, 146-150
implicit
, 85-86
import alias, 33
infix notation, 15-16, 37
immutability, 11, 16, 40, 202
lambda (closure), 35, 85-86, 154
method, default, 34, 78-84
methods on traits, 78
match expression, 157
monad, 177, 182-186, 195
method reference, 17, 108
mixin, 34, 74, 90, 91
overloading, 15, 115
pattern match, 157
purity of function, 3
polymorphism, 90, 115
REPL, 7-8
recursion, 36, 172
reference type, 22
stack, example of, 117-120scalac
, 7, 9
type parameterisation, 115
type erasure, 121
type alias, 34
traits, 34, 74, 78, 86, 88, 91
try-with-resources, 112-113
Unit
, 23-24
variance, 34, 133-136
wildcard, 129-130, 136, 158-159, 161, 165
yield
, 109, 191-192