On 10/1/11 8:33 AM, Todd O'Bryan wrote:
I actually wish it weren't in there. One student discovers it, and lots of students start using list instead of cons ... empty. That wouldn't be a problem except that most of them don't have the conceptual chops yet and I have to fix their confusion.
Yes. I have noticed confusion of (list x y) and (cons x y). And I still don't know where they get (append (list x) y) and how to prevent it.
Another thing I might take out is `reverse'. They tend to use it to fix up recursions that they've gotten wrong. They can't write an efficient version using the templates, and they think that every built-in function is "free" in some sense, even as they carp about having to, say, do two recursive computations on the same list instead of putting them in "one loop".
But right now I am marking proofs they have done, after which it will be a pleasure to get back to mere programming errors. --PR
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users