Creative Scala: Form and Function
Foreword to the First Edition
Foreword to the Second Edition
Getting Started
Background
Our Recommended Setup
GitHub
IntelliJ
Setup
Part One: Introduction
Expressions, Values, and Types
Starting to Program
Expressions and Values
Types
Exercises
Conclusions
Expanding Expressions
Literal Expressions
Values are Objects
Types
Exercises
Expressive Expressions
Images
Layout
Color
Creating Colors
Exercises
Conclusions
Writing Larger Programs
Names
Abstraction
Working Without Worksheets
Packages and Imports
Using The Build System
Conclusions
The Substitution Model of Evaluation
Substitution
Order of Evaluation
Local Reasoning
Conclusions
Methods without Madness
Methods
Method Syntax
Method Semantics
Writing Methods
Conclusions
Structural Recursion over the Natural Numbers
A Line of Boxes
The Natural Numbers
Match Expressions
Reasoning about Recursion
Conclusions
Fractals
Fun with Fractals
Nested Methods
Auxiliary Parameters
Exercises
Conclusions
Points, Paths, and Polygons
Polar Coordinates
Paths
Going Further
Conclusions
Functions and Flowers
Functions as Abstractions
Fun with Functions
Parametric Curves
Flowers and Other Curves
Conclusions
Composition and Cycles
Function Composition
Fun with Composition
Interpolation
Epicycles
Bringing it Together
Conclusions
Part One: Conclusions
Part Two: Introduction
Exploring Data Science
Loading Data
Initial Investigations
Summarizing Data
Loading Data
Loading Data Using a Source
generative
Exploring Random
Combining Random Values
For Comprehensions
Combining Random Values
Exercises
Randomness without Effect
Generative Art
Composition of Generative Art
sequences
Working with Lists
My God, It's Full of Stars!
Paths
Shapes, Sequences, and Stars
Transforming Sequences
quickreference
Syntax Quick Reference {#syntax-quick-reference}
Introduction
data
Data
Creating and Working With Data
Case Classes
turtles
Controlling the Turtle
Exercises
Branching Structures
Turtle Algebra and Algebraic Data Types
links.md
summary
Summary
adt
Algebraic Data Types
Build Your Own Turtle
Algebraic Data Types To Call Our Own
collections
Creating Sequences
Take Home Points
Transforming Sequences
Drawing Paths
Collections {#collections}
animation
Animation and Fireworks
Easing Functions
Reactors
Solutions to Exercises {#solutions}
fp
Take Home Points
Functions as Values
Recursive Algorithms
(Functional) Programming
declarations
Extended Exercise: Color Palettes
Value Declarations
Take Home Points
Declarations
Method Declarations
Creative Scala: Form and Function
Foreword to the First Edition
Foreword to the Second Edition
Getting Started
Background
Our Recommended Setup
GitHub
IntelliJ
Setup
Part One: Introduction
Expressions, Values, and Types
Starting to Program
Expressions and Values
Types
Exercises
Conclusions
Expanding Expressions
Literal Expressions
Values are Objects
Types
Exercises
Expressive Expressions
Images
Layout
Color
Creating Colors
Exercises
Conclusions
Writing Larger Programs
Names
Abstraction
Working Without Worksheets
Packages and Imports
Using The Build System
Conclusions
The Substitution Model of Evaluation
Substitution
Order of Evaluation
Local Reasoning
Conclusions
Methods without Madness
Methods
Method Syntax
Method Semantics
Writing Methods
Conclusions
Structural Recursion over the Natural Numbers
A Line of Boxes
The Natural Numbers
Match Expressions
Reasoning about Recursion
Conclusions
Fractals
Fun with Fractals
Nested Methods
Auxiliary Parameters
Exercises
Conclusions
Points, Paths, and Polygons
Polar Coordinates
Paths
Going Further
Conclusions
Functions and Flowers
Functions as Abstractions
Fun with Functions
Parametric Curves
Flowers and Other Curves
Conclusions
Composition and Cycles
Function Composition
Fun with Composition
Interpolation
Epicycles
Bringing it Together
Conclusions
Part One: Conclusions
Part Two: Introduction
Exploring Data Science
Loading Data
Initial Investigations
Summarizing Data
Loading Data
Loading Data Using a Source
generative
Exploring Random
Combining Random Values
For Comprehensions
Combining Random Values
Exercises
Randomness without Effect
Generative Art
Composition of Generative Art
sequences
Working with Lists
My God, It's Full of Stars!
Paths
Shapes, Sequences, and Stars
Transforming Sequences
quickreference
Syntax Quick Reference {#syntax-quick-reference}
Introduction
data
Data
Creating and Working With Data
Case Classes
turtles
Controlling the Turtle
Exercises
Branching Structures
Turtle Algebra and Algebraic Data Types
links.md
summary
Summary
adt
Algebraic Data Types
Build Your Own Turtle
Algebraic Data Types To Call Our Own
collections
Creating Sequences
Take Home Points
Transforming Sequences
Drawing Paths
Collections {#collections}
animation
Animation and Fireworks
Easing Functions
Reactors
Solutions to Exercises {#solutions}
fp
Take Home Points
Functions as Values
Recursive Algorithms
(Functional) Programming
declarations
Extended Exercise: Color Palettes
Value Declarations
Take Home Points
Declarations
Method Declarations
Introduction
blah blah blah blah blah
←Syntax Quick Reference {#syntax-quick-reference}
Data→