procedures
for now
- some vague intuitions
- will explain properly later
defining a procedure
- evaluating
(define (square i) (* i i))
- has the effect of creating a name (square)
- and associating it with a procedure
- that given a number (i)
- returns that number times itself
using a procedure
- (square 5) –> 25
- (square (square 5)) –> 625
built-in procedures
- in initial environment, * is bound to the addition procedure
- < is a procedure that returns #t or #f