[plt-scheme] Papers on criticism of Scheme?
Grant wrote:
> I had assumed the crazy things he said in the paper were just gross
> exaggerations made solely for the sake of drama. Eg:
>
> * Students can't tell the difference between cons and list
> * Students can't tell the difference between (list 'x) '(x) and (x)
> * Students screw up if they get lazy
I have seen students do all of these things, so while they are not
universal, they are definitely tendencies against which we should guard.
I concur with the sentiment that Wadler made some good points in this
early paper (particularly with respect to the way that Scheme was taught
at the time) while being off base on others. At FDPE in September, I
heard him refer to Scheme in a positive way (something about "as clean
and simple as Scheme") so I think that, while we may disagree on some of
the details, we are all pulling in more or less the same direction.
Stephen wrote:
> I have a bunch of students right now trying to write
>
> (define (scale-posn num (make-posn x y))
> (make-posn (* num x) (* num y)))
>
> which actually does make sense, but isn't legal Scheme. Any
> likelihood of a Haskell language module coming for DrScheme? Or a
> Scheme dialect with pattern-matching in function headers?
Tomorrow I take my first-term advanced students into the Module
language, and one of the first things we will do -- before printing,
reading, and mutation -- is look at `match' (not match-lambda). I think
it facilitates much data structures work. At some point, I tried to get
it to work with the teaching languages, and failed. I don't think it
should be introduced very early, but it would be nice when working with
trees, for example, or lists with depth greater than one or two.
A ComradeHaskell language level would be great, but certainly nontrivial
(more so than the ML interface developed at Brown) and probably everyone
currently on the PLT team has higher priorities. I also think (and here
Wadler would clearly disagree) that Haskell should not be used anywhere
in a first course, so perhaps there is less need for it. I did ask, at
FDPE, if anyone in the Haskell community was thinking about an analogue
to DrScheme, and Wadler mentioned Helium (in progress at Utrecht), but I
have not looked seriously into it. --PR