(no commit message)
[lambda.git] / assignment1.mdwn
index dd1fa12..12cd705 100644 (file)
@@ -1,4 +1,5 @@
-**Reduction**
+Reduction
+---------
 
 Find "normal forms" for the following (that is, reduce them as far as it's possible to reduce 
 them):
@@ -12,7 +13,8 @@ them):
     7. (\x (x x x)) (\x (x x x))
 
 
-**Booleans**
+Booleans
+--------
 
 Recall our definitions of true and false.
 
@@ -24,7 +26,7 @@ In Racket, these can be defined like this:
        (define true (lambda (t) (lambda (f) t)))
        (define false (lambda (t) (lambda (f) f)))
 
-* 8. Define a "neg" operator that negates "true" and "false".
+* Define a "neg" operator that negates "true" and "false".
 Expected behavior: 
 
     (((neg true) 10) 20) 
@@ -35,19 +37,21 @@ evaluates to 20, and
 
 evaluates to 10.
 
-* 9. Define an "and" operator.
+* Define an "and" operator.
 
-* 10. Define an "xor" operator. (If you haven't seen this term before, here's a truth table:
+* Define an "xor" operator. 
+(If you haven't seen this term before, here's a truth table:
 
-       true xor true = false
-       true xor false = true
-       false xor true = true
-       false xor false = false
+    true xor true = false
+    true xor false = true
+    false xor true = true
+    false xor false = false
 
 )
 
-* 11. Inspired by our definition of boolean values, propose a data structure
-capable of representing one of the two values "black" or "white". If we have
+* Inspired by our definition of boolean values, propose a data structure
+capable of representing one of the two values "black" or "white". 
+If we have
 one of those values, call it a black-or-white-value, we should be able to
 write:
 
@@ -58,7 +62,7 @@ if-white, depending on which of the black-or-white values we started with. Give
 a definition for each of "black" and "white". (Do it in both lambda calculus
 and also in Racket.)
 
-12. Now propose a data structure capable of representing one of the three values
+* Now propose a data structure capable of representing one of the three values
 "red" "green" or "blue," based on the same model. (Do it in both lambda
 calculus and also in Racket.)