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