CSC153.01, 2004S Class 7: Numeric Recursion
Admin
* Read "Local Bindings in Scheme"
* Does anyone look at these Eboards?
* Questions on homework 2?
* Convo: Argument: Technology keeps speeding things up, making our lives more busy and complicated. It's difficult to have "alone time"/"contemplative time". And that's a problem we need to solve.
* Mental health and counseling
* Sam's stupid weekend plan: Go to Minnesota, Go to ice carnival *at night*
Overview:
* Quick overview
* Observation: Recursive type definitions lead to recursive procedures
* Lab
Quick info on numeric recursion:
* Recursion can occur over "any" type that you can simplfy
* For whole numbers, you can stop at 0 or 1 and simplify by subtracting 1
* For whole numbers, you can stop at 1 and simplify by dividing by 2
Lists and Whole numbers are nice for recursion, because they are typically
defined recursively
A list is either:
* Null (base base)
* cons of anything and "a list"
A whole number is either
* 0
* Successor of another whole number
Any questions?
Do the lab
At 10:40, we will discuss techniques of exponentiation. See Examples/expt.scm