[SYMBOL][A][B][C][D][E][F][G][H][I][J][K][L][M][N][O][P][Q][R][S][T][U][V][W][Y][Z]
! character
&& characters
| type operator, 2nd, 3rd
|| characters
32-bit integer
4-bit signed integer encoding
4-bit unsigned integer
8-bit unsigned integer
abstract class
accumulate() function
actions
adapter pattern
adaptive algorithms
ADTs (algebraic data types), 2nd, 3rd
product types
sum types
Aggregate() function
aggregate() function
algebraic data types.
See ADTs (algebraic data types).
all() function, 2nd
AND operator
anonymous function
anonymous functions
anonymous functions (lambdas)
any keyword
Any type
any type, 2nd, 3rd, 4th
any() function, 2nd
arithmetic overflow
arrays, 2nd, 3rd
associative arrays
binary trees
fixed-size arrays
implementation trade-offs
list efficiency
associative arrays
associativity
asterisks
async/await function
asynchronous code, simplifying
async/await function
promises
chaining
chaining synchronous functions
creating, 2nd
handling errors
asynchronous execution
callbacks
models for
bad state
begin iterator, 2nd, 3rd, 4th, 5th
biased exponent
bidirectional iterators, 2nd
Big O notation
BigInt type
binary trees
binary64 encoding
bind() function, 2nd
bit widths
bivariance
bivariant types
Boolean expressions
Boolean types, 2nd, 3rd, 4th, 5th
Boolean expressions
short circuit evaluation
bottom type
callbacks
catch() function, 2nd
category theory, 2nd
clone() function
closed type
closures
code points
coding against interfaces
coercion
collections, subtyping and
composability
composition, 2nd, 3rd
algebraic data types
product types
sum types
composite classes
compound types
assigning meaning
maintaining invariants
tuples
either-or types
enumerations
optional types
result or error
variants
extending behavior with
has-a rule of thumb
implementing
visitor design pattern
alternative implementation of
naïve implementation of
variant visitor function
compound types, 2nd
assigning meaning
maintaining invariants
tuples
conditional branching
const notation
constant space (O(1))
constant time (O(1))
constness property
constraints
enforcing
with constructor
with factory
type parameter constraints
generic algorithms with
generic data structures with
continuation monad
continuations
contracts
contracts (interfaces)
contravariant type, 2nd
correctness
counters
functional counters
implementing
object-oriented counters
resumable counters
covariant types, 2nd
cross-cutting concerns
currency addition function
Curry-Howard correspondence
data structures, defined
declarations
decorator pattern
closures
functional decorator
implementing
decoupling independent concerns
generic types
optional types
reusable identity functions
dependent types
deserialization
design patterns
adapter pattern
decorator pattern
strategy pattern
visitor pattern
diamond inheritance problem
dictionaries
downcasts
drop() function
dynamic typing
eager evaluation, 2nd
Either type, 2nd, 3rd, 4th, 5th, 6th
either value or error
either-or types, 2nd
enumerations
optional types
result or error
exceptions
variants
empty types, 2nd
encapsulation, 2nd
encoding libraries
encodings
UTF-16
UTF-32
UTF-8
end iterator, 2nd, 3rd, 4th, 5th
enum keyword, 2nd
error cases
higher kinded types
promises
values for
error codes
errors, 2nd, 3rd, 4th
event loops
explicit type cast, 2nd
exponents
extend() method
extending behavior
with composition
with mix-ins
extends keyword
filter function
filter/reduce pipeline
generic versions of
filter() function, 2nd, 3rd, 4th, 5th, 6th
final keyword
find() function, 2nd, 3rd
first-class functions
first-order function
first() function
fixed-size arrays, 2nd, 3rd
floating-point numbers
floating-point types
comparing floating-point numbers
precision values
fmap() function
fold() function, 2nd
forward iterators
function argument types, subtyping and
function keyword
function map
function return types, subtyping and
function types, 2nd
adapter pattern
counters
functional counters
implementing
object-oriented counters
resumable counters
decorator pattern
closures
functional decorator
implementing
functional programming
higher-order functions
filter
library support
map
reduce
lazy values
lambdas
long-running operations
asynchronous execution
synchronous execution
simplifying asynchronous code
async/await
promises
state machines without switch statements
early programming with types
implementing
overview
strategy pattern
first-class functions
implementing
typing functions
functional counters
functional programming, 2nd, 3rd
functors
generic algorithms
adaptive algorithms
common algorithms
higher-order functions
filter
filter/reduce pipeline
map
reduce
implementing fluent pipeline
loops vs.
type parameter constraints
generic algorithms with type constraints
generic data structures with type constraints
using iterators
generic data structures
data structures, defined
decoupling independent concerns
generic types
optional types
reusable identity function
overview
streaming data
processing pipelines
traversing data structures
streamlining iteration code
using iterators
with type parameter constraints
generic function
generic programming, 2nd
generic types
generics
glyphs
grapheme-splitter library
graphemes
has-a rule of thumb
hash function
hash maps
hash tables
Haskell language, 2nd
heaps
heterogenous collections
base type or interface
sum type or variant
unknown type
higher kinded types
category theory and
dependent types
functional programming
generic programming
linear types
map
functors
mix-and-match function application
processing results or propagating errors
monads
common monads
continuation monad
list monad
map vs. bind, 2nd
monad pattern
result or error
higher-kinded types, 2nd, 3rd
higher-order functions, 2nd
filter
filter/reduce pipeline
generic versions of
library support
map, 2nd
bind vs.
functors
generic versions of
mix-and-match function application
processing results or propagating errors
reduce
filter/reduce pipeline
generic versions of
homogenous collection
identities
identity() function, 2nd, 3rd
IEEE 754, 2nd
IForwardIteratorinterface, 2nd
IIncrementable
IInputIteratorinterface
immutability
implicit type cast
inheritance
is-a rule of thumb
modeling hierarchies
parameterizing behavior
input iterators
instance of keyword
integer types
overflow and underflow
interfaces (contracts)
intersection types
invariant types, 2nd
invariants
IOutputIterator
IRandomAccessIterator
IReadable
is keyword
is-a rule of thumb
Iterable argument, 2nd, 3rd
Iterable interface, 2nd, 3rd, 4th
IterableIterator interface, 2nd, 3rd, 4th, 5th, 6th
iteration
Iterator interface, 2nd, 3rd
IteratorResult type, 2nd, 3rd
iterators
algorithms using
bidirectional iterators
forward iterators
iterator building blocks
random-access iterators
defined
streamlining iteration code
traversing data structures using
IWritable interface, 2nd
java.util.stream package
JSON.parse() method, 2nd, 3rd
JSON.stringify() method
lambdas (anonymous functions)
lazy evaluation, 2nd
lazy values
linear space (O(n))
linear time (O(n))
linear types
linearithmic (O(n log n))
linked lists
LinkedList
Liskov substitution principle
list efficiency
list monad
long-running operations
asynchronous execution
callbacks
models for
synchronous execution
loops, algorithms vs.
machine epsilon
mantissa
map() function, 2nd, 3rd, 4th, 5th, 6th, 7th, 8th, 9th, 10th, 11th, 12th
bind vs.
functors
generic versions of
mix-and-match function application
processing results or propagating errors
max() function
maybe type
maybe types (optional types), 2nd, 3rd
mix-ins
monadic error handling
monads
common monads
continuation monad
list monad
map vs. bind
monad pattern
result or error
monoids
N-bit unsigned integer
name property, 2nd
namespace keyword
NaN (not a number)
narrowing casts
negative infinity
never type, 2nd, 3rd, 4th, 5th
next elements
next() method, 2nd, 3rd, 4th, 5th
nominal subtyping
pros and cons of
simulating
none() function
nonprimitive types
nonterminating functions
NOT operator
null type, 2nd, 3rd
nullable type
number type, 2nd, 3rd, 4th, 5th, 6th, 7th
Number.isSafeInteger() function
numerical types
arbitrarily large numbers
floating-point types
comparing floating-point numbers
precision values
integer types
overflow and underflow
object type, 2nd, 3rd, 4th
object-oriented counters
OOP (object-oriented programming)
alternatives to
functional programming
generic programming
sum types
composition
composite classes
has-a rule of thumb
implementing
extending behavior
with composition
with mix-ins
inheritance
is-a rule of thumb
modeling hierarchies
parameterizing behavior
interfaces
Optional class
optional type, 2nd
optional types (maybe types), 2nd
Optionaltype, 2nd, 3rd, 4th
OR operator
out keyword
out parameters
overflow
detecting
overview
Pair type
parameterizing behavior
positive infinity
predicates, 2nd, 3rd
primitive obsession antipattern
primitive types, 2nd
private property
private variables
product types, 2nd.
See also compound types.
Promise, 2nd, 3rd
Promise class
Promise.all() function, 2nd
Promise.race() function, 2nd
Promise.resolve() function
Promise.then() function
promises, 2nd, 3rd
chaining
chaining synchronous functions
creating, 2nd
handling errors
proofs
proofs-as-programs
property
pthread_create() function
public property
random-access iterators
read-only variables
readonly properties
record types
reduce() function, 2nd, 3rd, 4th, 5th, 6th
filter/reduce pipeline
generic versions of
reduceRight() method
reference types
references
associative arrays
binary trees
implementation trade-offs
list efficiency
overview
reject() function
rejected state, promise
resolve() function
resumable counters
reusable identity functions
reverse() function, 2nd, 3rd
run time
saturation
sealed keyword
second-order function
security
select() function, 2nd
serialization
settled state, promise
shape-preserving operations
short circuit evaluation
single-responsibility principle
skip() function
state machines, 2nd
early programming with types
implementing
overview
state space
static typing
strategy pattern
first-class functions
function types
implementing
streaming data
strict settings
string type, 2nd, 3rd, 4th
strings
breaking text
encoding libraries
encodings
UTF-16
UTF-32
UTF-8
strong typing
struct type, 2nd
structural subtyping
subtyping, 2nd, 3rd, 4th
collections and
distinguishing between similar types
simulating nominal subtyping
structural vs. nominal subtyping
function argument types and
function return types and
sum types and
types that can be assigned to anything
types to which anything can be assigned
sum types, 5th.
See also either-or types.
as alternative to OOP
heterogenous collections
subtyping and
switch statements, 2nd
synchronous execution
chaining synchronous functions
of long-running operations
System.Linq namespace, 2nd
tagged union types
tagged union types (Variant types)
take() function, 2nd
Task
text-breaking function
then() function, 2nd, 3rd, 4th
third-order function
threads
throw statement
top types
transform() function, 2nd
traversing data structures
streamlining iteration code
using iterators
tuple types
two’s complement encoding
type casting, 2nd, 3rd
common type casts
downcasts
narrowing casts
upcasts
widening casts
overview
tracking types outside type system
type checking
type constructors
type guards
type inference, 2nd
type parameter constraints
generic algorithms with
generic data structures with
type safety
enforcing constraints
with constructor
with factory
hiding and restoring type information
heterogenous collections
serialization
preventing misinterpretation
Mars Climate Orbiter
primitive obsession antipattern
type casting
common type casts
overview
tracking types outside type system
type systems
benefits of
composability
correctness
encapsulation
immutability
readability
data interpretation
defined
purpose of
types of
dynamic typing
static typing
strong typing
type inference
weak typing
types, defined
types
arrays and references
associative arrays
binary trees
fixed-size arrays
implementation trade-offs
list efficiency
references
Boolean types
Boolean expressions
short circuit evaluation
combining
algebraic data types
compound types
either-or types
visitor design pattern
defined
empty types
function types
counters
decorator pattern
higher-order functions
lazy values
long-running operations
simplifying asynchronous code
state machines without switch statements
strategy pattern
higher kinded types
category theory and
dependent types
functional programming
generic programming
linear types
map
monads
numerical types
arbitrarily large numbers
floating-point types
integer types
strings
breaking text
encoding libraries
encodings
unit types
TypeScript, 2nd, 3rd, 4th, 5th, 6th, 7th, 8th, 9th, 10th, 11th, 12th, 13th, 14th, 15th, 16th, 17th
cheat sheet
installing locally
online playground
source code
undefined type, 2nd, 3rd, 4th, 5th, 6th, 7th, 8th, 9th
underflow
detecting
overview
underscore.js package
Unicode, 2nd
uninhabitable types
unique symbol trick, 2nd, 3rd
unit types
unit() function, 2nd
unknown type, 2nd, 3rd, 4th, 5th
upcasts
UTF-16 encoding
UTF-32 encoding
UTF-8 encoding
value property, 2nd
value types
variable-length encodings
Variant types (tagged union types), 2nd
visit() function, 2nd, 3rd, 4th
visitor design pattern
alternative implementation of
naïve implementation
naïve implementation of
variant visitor function
void property, 2nd
void type, 2nd, 3rd, 4th, 5th
weak typing
well-formed values
where() function, 2nd
widening casts, 2nd
wrap around
yield keyword
yield statement, 2nd, 3rd
18.221.187.121