University of Toronto - Winter
2007
Department of Computer Science
CSC 324:
Principles of Programming Languages
Assignment 3
Clarification Page
Corrections or Clarifications
General Clarifications
Feb23
letrec When a question states that helper procedures are not allowed,
letrec may be used. When a question states that recursion is not
allowed, letrec may not be used. The general syntax for letrec is the
same as for let and let*. It differs only in that it allows recursive
bindings (i.e. a symbol in the bindings list may appear in its own
definition), and thus may be used to define local functions.
Question-Specific Clarifications
Question 1
Question 1d
Feb 23 In Question 1d, you may use my-reduce from the course notes
instead of reduce. If you do, make sure to include a definition for it
so your code runs correctly. This is the only helper procedure
that you are allowed to use.
Question 3
Feb 24
Question: The handout says "you can assume that any number listed in
next or prev corresponds to a node in g". How does a user add a node
with an edge to itself? (Note, that inserting a node with a self-edge
into an empty graph is a special case).
Answer: Assume this does not happen. Although this assumption is
consistent with the phrasing of the question, it is not a very good
one. However, given the limited time you have before A3 submission
deadline, you can make this assumption. Note that you should still
handle inserting a node with no edges into an empty graph.
Question 5
Feb 19
You do not have to submit anything
electronically for Question 5. It should be handed in on paper in your
envelope.
Question 6
Feb 24 Contrary to a previous version of this clarification page,
there is no "Question 6"! The remark was meant to be with respect to
"Question 5", as noted above.
Back to the main page