Lecture and Lab Notes

This page hosts course-specific notes on a few topics that supplement the textbook as required or suggested reading.

    Design Recipes for Pyret Functions

      1 Note

      2 Recipe for Atomic Data

        2.1 Abstracting Common Parts

        2.2 Exercises

      3 Evaluating by Reducing Expressions

      4 Recipe for Simple Data

        4.1 Functions Over Mixed, Related Data

        4.2 More Refined Comparisons

        4.3 Exercises

      5 Recipe for Recursive Data

        5.1 Exercises

      6 Parameterizing Data Definitions

        6.1 List and the list Abbreviation

      7 Abstracting Common Parts of List Functions

      8 Functions that Return Functions

      9 More and Mutually Recursive Data

        9.1 Other Recursive Patterns

        9.2 Mutually Recursive Data

        9.3 A Note on Parametric Data Definitions

      10 Naming Intermediate Values

        10.1 Some Gotchas