[plt-scheme] Papers on criticism of Scheme?

From: Prabhakar Ragde (plragde at uwaterloo.ca)
Date: Mon Nov 3 10:29:55 EST 2008

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


Posted on the users mailing list.