11 Programming with State (in Both Pyret and Python)
|
11.1 State, Change, and Testing
|
11.1.1 Example: Bank Accounts
|
11.1.2 Testing Functions that Mutate Data
|
11.1.3 Aliasing
|
11.1.4 Data Mutation and the Directory
|
11.1.4.1 Introducing the Heap
|
11.1.4.2 Basic Data and the Heap
|
11.2 Understanding Equality
|
11.2.1 Equality of Data
|
11.2.2 Different Equality Operations
|
11.2.2.1 Equality in Python
|
11.2.2.2 Equality in Pyret
|
11.3 Arrays and Lists in Memory
|
11.4 Cyclic Data
|
11.4.1 Creating Cyclic Data
|
11.4.2 Testing Cyclic Data
|
11.4.3 Cycles in Practice
|
12 More Programming with State: Python
|
12.1 Modifying Variables
|
12.1.1 Modifying Variables in Memory
|
12.1.2 Variable Updates and Aliasing
|
12.1.3 Updating Variables versus Updating Data Fields
|
12.1.4 Updating Parameters in Function Calls
|
12.1.5 Updating Top-Level Variables within Function Calls
|
12.1.6 The Many Roles of Variables
|
12.2 Mutable Lists
|