8.15

IV   Programming With State🔗

    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

      11.5 Modifying Variables

        11.5.1 Modifying Variables in Memory

        11.5.2 Variable Updates and Aliasing

        11.5.3 Updating Variables versus Updating Data Fields

        11.5.4 Updating Parameters in Function Calls

        11.5.5 Updating Top-Level Variables within Function Calls

        11.5.6 The Many Roles of Variables

    12 More Programming with State: Python

      12.1 Mutable Lists