Great! Dr Racket’s started up and the language

that’s chosen is Intermediate Student With

Lambda. We’re going to require “picturing programs”. Read that in by typing control-T, and give yourself lots of real estate for interactions with

control-D. Let’s get at least one image to use. Now I can express that image as I’ve

done before, but I can also combine it with itself or other images. This chameleon can be beside itself multiple times. Or it can be above itself. I can combine numbers and strings to give instructions

to build a circle of a certain size. So, here is a circle of radius 160. now I can overlay the chameleon with

that circle. So, copy the circle… Oops! My buffer seems to be infested with

chameleons. Let’s try copying that again… paste in the circle… and overlay a chameleon in a circle. I can combine numbers with + It seems a little weird to combine two

numbers with + ahead of them, but when there’s more than two this ends up being

convenient. Similarly, I can come by numbers with

multiplication. If I want to combine more than two of

them, this prefix multiplication is convenient

once again. Similarly, I can divide 1/2 by

2/3, divide that by 3/4, divide that by 4/5, and divide that by

5/6… That’s what I get. I can subtract 2/3 from 1/2, and

then subtract 3/4 from that, and so on. Here’s what I get. Sometimes I want to make sure that

division gives me back integers, so here’s the number of times 9 goes

into 15… I use quotient for that. here’s the number of times 9 goes into 24. Of course, “goes into” is not sufficient

unless we know the remainder: 9 goes into 24 twice, with

remainder 6. I can combine strings with string-append… I can get truth… by combining numbers… or falsity by combining numbers… asking whether one is greater than or

less than the other. I can get truth or falsity by asking if

numbers are equal… notice they question mark. This asks me whether half is less than

one and one is less than two. notice that the very similar question ends up giving a “false” answer. I can ask whether 1/2 is less than 1

or 1/2 his equal to 1. this is the long way of asking is 1/2

less than or equal to 1. How about asking whether 1/2 is greater

than 1, or 1/2 is equal to 1… Well, that’s just false! How about asking whether 1/2 is less

than 1, and 1/2 is equal to 1. false again!