Questions

  1. What's wrong with the following line of code? Correct it:
      name: John
  1. Examine the system word in the console with ? system.
  2. Give the values of i1 and i2 after evaluating i2: 1 + i1: 1.
  3. To better see the difference between them, use print and probe on [10 * 5].
  4. Coming from other languages, it is common to type the mistake to_float 42; what happens then? Explain this.
  5. See whether you can find the results of the following expressions for yourself (see Chapter03/evaluation.red):

        print (6 < 13) and (42 < 33)
print (43 < 42) xor (44 < 43)
print complement 3

 

 

  1. From the following code snippet evaluate the last three lines and explain the results:
        a: "red" ;== "red"
b: copy a ;== "red"
a = b
a == b
a =? b
  1. What's the output of print [3 = 2 tab 5 = 5 tab 1 = 1.0]?
  2. What is the output of on = (5 = 5)?
  3. Look up the docs of now in the console and try out its refinements.
  4. Why does square-root 9 + square-root 9 return 3.464101615137754 and not 6? Make it return 6.0.
  5. Compile a minimal.red script with only a header. What is the size of the binary? Use –c and –r, is there a difference, and if so, why?