From newts@altdorf.ai.mit.edu Fri Oct 11 23:38:16 1991
Received: by hx.LCS.MIT.EDU (5.51/4.7); Fri, 11 Oct 91 23:38:15 EDT
Message-Id: <9110120338.AA15005@hx.LCS.MIT.EDU>
Received: from SCHWYZ.AI.MIT.EDU by altdorf.ai.mit.edu with SMTP
	(15.11/15.6) id AA16658; Fri, 11 Oct 91 23:36:28 edt
Received: by martigny.ai.mit.edu
	(16.7/15.6) id AA27395; Fri, 11 Oct 91 23:37:27 -0400
Date: Fri, 11 Oct 91 23:37:27 -0400
From: "" <newts@altdorf.ai.mit.edu>
To: ziggy@hx.lcs.mit.edu
Subject: PS4 solutions flammage
Status: R

I know that this is kind of late, but I just looked at the solutions
recently, and saw a few weak points in the solution for instantiate

1) The body of instantiate makes a call to (car skeleton) three times
   within the same scope. I believe that this should have been computed
   once within a let statement. I know it's a fine point, but the solutions
   should encourage discipline in coding - especially with the upcoming
   problem sets on state, where lack of discipline like this, could be
   far more serious if skeleton were being mutated in the code.

2) The definition of place-holder? as list? was bad, because the examples
   clearly indicate that a placeholder is not just any list, but a list
   of a colon and a number. Therefore, the abstraction should have been
   put to better use by being more specific.
   Another problem here is that, using this abstraction automatically
   excludes parentheses from appearing in a skeleton except in the context
   of a place-holder.

I am sorry that I was late about this, but I thought that I should bring
it up anyway, even for academic purposes. Sorry again.

-- Daniel

