[plt-scheme] A data point on 'match' in intro programming: +++!
On Jul 7, 2009, at 9:15 AM, Prabhakar Ragde wrote:
> John Clements wrote:
>
>> I'm leading high-school students through the construction of a
>> bare- bones "universe.ss" application that models the prisoner's
>> dilemma, and I decided to import 'match' using a teachpack. My
>> experience thus far has been completely positive, and if there's a
>> drawback to using 'match' to replace structure-reference functions
>> and predicates, it hasn't come up.
>> Well, actually, I suppose I can imagine the following objections:
>> - a straightforward import of 'match' doesn't support symbol
>> patterns (presumably, it's a different "quote").
>> - you can't do nifty higher-order things with predicates and
>> structure reference functions.
>
> It would be nice if these could be fixed. In the "advanced" first-
> term class I teach to really good students, I could use match pretty
> early, except that I've never been able to get it to do the things I
> want when I try importing it into a teaching language (I definitely
> want symbol patterns and predicates). As it stands, I have to
> introduce it after we move to Module about halfway through, and
> that's later than I'd like.
I think you're misunderstanding me, though I now see that what I said
wasn't well explained. The point about symbol pattterns stands, but
you *can* write structure patterns just fine; all I was suggesting was
that if you introduce structures in this way, then when you want to
show the kids how to use filter to extract all of the llama's from a
list, you have to explicitly introduce 'llama?' or let them write it
themselves.
John
> I think match as a shorthand for destructuring parallels list and
> quote notation as a shorthand for structuring, and can be introduced
> after some explicit practice with accessor functions.
That's the traditional approach (IIUC), and it may well lead to better
understanding.
John
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2484 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20090707/8ee9e246/attachment.p7s>