kill whitespace: was any of it significant markdown?
[lambda.git] / topics / week1.mdwn
index 82e1fa6..5ab30bc 100644 (file)
@@ -81,7 +81,7 @@ I've started throwing in some **variables**. We'll say variables are any express
     x?
     xs
 
-We'll follow a *convention* of using variables with short names and a final `s` to represent collections like sequences (to be discussed below). But this is just a convention to help us remember what we're up to, not a strict rule of the language. We'll also follow a convention of only using variables ending in `?` to represent functions that return a boolean value. Thus, for example, `zero?` will be a function that expects a single number argument and returns a boolean corresponding to whether that number is `0`. `odd?` will be a function that expects a single number argument and returns a boolean corresponding to whether than number is odd. Above, I suggested we might use `lessthan?` to represent a function that expects *two* number arguments, and again returns a boolean result. 
+We'll follow a *convention* of using variables with short names and a final `s` to represent collections like sequences (to be discussed below). But this is just a convention to help us remember what we're up to, not a strict rule of the language. We'll also follow a convention of only using variables ending in `?` to represent functions that return a boolean value. Thus, for example, `zero?` will be a function that expects a single number argument and returns a boolean corresponding to whether that number is `0`. `odd?` will be a function that expects a single number argument and returns a boolean corresponding to whether than number is odd. Above, I suggested we might use `lessthan?` to represent a function that expects *two* number arguments, and again returns a boolean result.
 
 We also conventionally reserve variables ending in `!` for a different special class of functions, that we will explain later in the course.
 
@@ -383,7 +383,7 @@ is a pattern, meaning the same as `x1 & x2 & []`. Note that while `x & xs` match
 For the time being, these are the only patterns we'll allow. But since the definition of patterns is recursive, this permits very complex patterns. What would this evaluate to:
 
     let
-      ([xs, ys], [z:zs, ws]) match ([[], [1]], [[10, 20, 30], [0]])
+      ([xs, ys], [z & zs, ws]) match ([[], [1]], [[10, 20, 30], [0]])
     in z & ys
 
 Also, we will permit complex patterns in λ-expressions, too. So you can write: