Get the latest tech news
How to Debug Chez Scheme Programs (2002)
When a program fails to operate as it should, it is said to have a bug. A bug is the root cause of an observed behavior, such as failure to terminate, failure to perform some action, termination with an error message, or merely producing incorrect results.
Regardless of the technique used, debugging programs and testing after each addition increases your odds of finding a bug quickly and fixing it easily. For low-level syntactic errors such as unexpected end-of-file or mismatched parentheses or brackets, try loading the file with pretty-print as the evaluation procedure. With the default system settings, the error message should include the line number and character position of the unmatched open parentheses.
Or read this on Hacker News