
A: Ensure that your file buffer is in Scheme Mode. Either explicitly type
M-x scheme-mode<CR>
(here <CR> denotes the carriage return key), or save the buffer into a file with a .scm extention, e.g., hw1.scm. If an emacs buffer is not in scheme mode, then typing C-x C-e sends the preceding expression to emacs to interpret as emacs Lisp, which does not accept define as a keyword.
A: The version of MIT Scheme on griffin, newton, and sadye represents #f internally as an empty list, which appears on the screen as (). (Note that #f also evaluates to (), but #t evaluates to #T.) This usage is consistent with Lisp, however it is at variance with R4S and ANSI Scheme.
A: The semicolon (;) is the comment character, and the scheme interpreter ignores every character that appears between a semicolon and the end of the line. It is common practice to use multiple semicolons to distinguish different levels of comments, for example, four semicolons may be used to indicate the file description, three to describe the following function definition, two to explain the statement in the next line, and one to clarify the statement that appears at left on the same line.
A: Indentations should be used to keep track of the current depth of parenthetic expressions: when done correctly, this usually eliminates the need to count parentheses. If an emacs buffer is in scheme mode (see above) then pressing the TAB key indents the current line appropriately. Inserting line breaks frequently, using descritive symbolic names, inserting descriptive comments, and building your projects with many short procedures --- as opposed to only a few long ones--- also makes code easier to read.