Here are some puzzles to test your understanding. If we assign [a b] to x, thus:
[a b] -> x;then the list [
^^x c] is [a b c] and the list [^x c] is [[a b] c].
What values would have to be assigned to x, y etc so that the following were true (some are impossible - which ones?):
[^^x ^^x] = [a b a b] ;;; answer is [a b] -> x;
[^x ^^y] = [[a b] b c] ;;; answer is [a b] -> x; [b c] -> y;
[^^x mother ^^y] = [i love my mother]
[the height of steve is ^^x] = [the height of steve is 70 inches]
[every ^^x is a ^^y] = [every fire man is a civil servant]
[every ^x is a ^y] = [every fire man is a civil servant]
[^^x i ^^y you] = [sometimes i hate people like you]
[[^x ^^y] ^^z] = [[a b c d]]
[^x [^^y] ^z] = [[a b] [c d] [e f]]
[i saw ^^n ships] = [i saw 3 ships]
[i saw ^n ships] = [i saw 3 ships]
[i ^x you] = [i hate computers]
[^x ^y ^z] = [i hate computers]
Use the computer to check your answers. For example, if you think
the answer to the fourth one is:
[6 feet] -> x;then try printing the list:
[the height of steve is ^^x] =>Later you will see that the procedure MATCHES could be used to find the answers.