You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					
					
						
							21 lines
						
					
					
						
							739 B
						
					
					
				
			
		
		
	
	
							21 lines
						
					
					
						
							739 B
						
					
					
				| 
 | |
| Exercise 2.6: In case representing pairs as
 | |
| procedures wasn’t mind-boggling enough, consider that, in a language that can
 | |
| manipulate procedures, we can get by without numbers (at least insofar as
 | |
| nonnegative integers are concerned) by implementing 0 and the operation of
 | |
| adding 1 as
 | |
| 
 | |
| 
 | |
| (define zero (lambda (f) (lambda (x) x)))
 | |
| 
 | |
| (define (add-1 n)
 | |
|   (lambda (f) (lambda (x) (f ((n f) x)))))
 | |
| 
 | |
| This representation is known as 
 | |
| Church numerals, after its inventor,
 | |
| Alonzo Church, the logician who invented the λ-calculus.
 | |
| 
 | |
| Define one and two directly (not in terms of zero and
 | |
| add-1).  (Hint: Use substitution to evaluate (add-1 zero)).  Give
 | |
| a direct definition of the addition procedure + (not in terms of
 | |
| repeated application of add-1).
 | |
| 
 |