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
  • Solutions to Exercises {#solutions}
  • quickreference
  • Syntax Quick Reference {#syntax-quick-reference}
  • declarations
  • Extended Exercise: Color Palettes
  • Declarations
  • Take Home Points
  • Value Declarations
  • Method Declarations
  • collections
  • Transforming Sequences
  • Collections {#collections}
  • Take Home Points
  • Creating Sequences
  • Drawing Paths
  • data
  • Case Classes
  • Creating and Working With Data
  • Data
  • animation
  • Reactors
  • Animation and Fireworks
  • Easing Functions
  • links.md
  • turtles
  • Branching Structures
  • Turtle Algebra and Algebraic Data Types
  • Exercises
  • Controlling the Turtle
  • sequences
  • Shapes, Sequences, and Stars
  • Working with Lists
  • My God, It's Full of Stars!
  • Paths
  • Transforming Sequences
  • adt
  • Algebraic Data Types To Call Our Own
  • Algebraic Data Types
  • Build Your Own Turtle
  • summary
  • Summary
  • fp
  • Functions as Values
  • (Functional) Programming
  • Take Home Points
  • Recursive Algorithms
  • Introduction
  • generative
  • Exploring Random
  • Combining Random Values
  • Composition of Generative Art
  • Exercises
  • For Comprehensions
  • Generative Art
  • Randomness without Effect
  • Combining Random Values
  • 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
  • Solutions to Exercises {#solutions}
  • quickreference
  • Syntax Quick Reference {#syntax-quick-reference}
  • declarations
  • Extended Exercise: Color Palettes
  • Declarations
  • Take Home Points
  • Value Declarations
  • Method Declarations
  • collections
  • Transforming Sequences
  • Collections {#collections}
  • Take Home Points
  • Creating Sequences
  • Drawing Paths
  • data
  • Case Classes
  • Creating and Working With Data
  • Data
  • animation
  • Reactors
  • Animation and Fireworks
  • Easing Functions
  • links.md
  • turtles
  • Branching Structures
  • Turtle Algebra and Algebraic Data Types
  • Exercises
  • Controlling the Turtle
  • sequences
  • Shapes, Sequences, and Stars
  • Working with Lists
  • My God, It's Full of Stars!
  • Paths
  • Transforming Sequences
  • adt
  • Algebraic Data Types To Call Our Own
  • Algebraic Data Types
  • Build Your Own Turtle
  • summary
  • Summary
  • fp
  • Functions as Values
  • (Functional) Programming
  • Take Home Points
  • Recursive Algorithms
  • Introduction
  • generative
  • Exploring Random
  • Combining Random Values
  • Composition of Generative Art
  • Exercises
  • For Comprehensions
  • Generative Art
  • Randomness without Effect
  • Combining Random Values
←Easing Functions Branching Structures→
Creative Scala is copyright Noel Welsh