scheme, a dialect of lisp.
- The law of Car
caris defined only for non-empty lists. The
cdrof any non-empty list is always another list.
- The law of Cons
The primitive takes two arguments. The second argument to must be a list. The result is a list.
- The law of Null?
null?is defined only for lists.
- The law of eq?
eq?takes two arguments.Each must be a nonnumeric atom.
- The First Commandment
null?as the first question in expressing any function.
- The Second Commandment
consto build lists.
- The Third Commandment
When building a list, describe the first typical element, and then cons it onto the natural recursion.
- The Fourth Commandment
Always change at least one argument while recurring. It must be changed to be closer to the termination. The changing argument must be tested in the termination condition: when using cdr, test termination with
- The Fifth Commandment
When building a value with +, always use 0 for the value of the terminating line, for adding 0 does not change the value of an addition.
When building a value with x, always use 1 for the value of the terminating line, for multiplying by 1 does not change the value of multiplication.
When building a value with cons, always consider () for the value of the terminating line.