Page 289

backtraces

Backtraces are incredibly useful for debugging. Be aware though that tail-call elimination may have removed some function calls from the stack.

Page 291

unbound variables

Make sure you read the error messages carefully.

Often, you'll see a symbol that you know is defined in an error message. Perhaps though, due to incorrect parenthesization, a function is being used as a variable or vice versa:

? (cond (zerop x) (print 'ok)
Error: unbound variable ZEROP

? (let ((x 1) (y 2)) (print (x y)))
Error: undefined function X
Faculty: Chris Riesbeck
Time: Monday, Wednesday, Friday: 1pm - 2pm
Location:Annenberg G15

Contents

Important Links