[plt-scheme] Re: plt-scheme type of language

From: Artyom Shalkhakov (artyom.shalkhakov at gmail.com)
Date: Fri Dec 11 11:47:38 EST 2009


2009/12/11 Shriram Krishnamurthi <sk at cs.brown.edu>:
> Your purported inability to express this more clearly (you're very
> clear, in fact) is actually very instructive, because it helps me
> understand what you are having difficulty articulating.
> You also have a key insight, which is that the problem w/ that section
> of PLAI is not what IS there but what isn't.
> What is there is, I think, a fairly useful *academic* introduction.
> It was never intended for an industrial person to quickly get a gist
> of what is going on.  In a sense, it's written backwards: only after
> you understand what is happening are you given told what does and
> doesn't make sense, by which time (a) most people have stopped reading
> and (b) a few like you who haven't are now not clear what's a tree and
> what's the forest.  It is conceivable that putting the back up front,
> and then repeating it in technical detail, can have some value.
> In general, PLAI does not do a good job of the "isn't"s.  What isn't
> meaningful about "strong typing"?  What isn't good about aliasing?
> What isn't right with analogies about objects?  Etc.  All these things
> have to be gleaned from being in a class taught by the faculty who use
> it, since they aren't written down.

However, these things have to be written down somewhere. For example,
there's a work by Henry Baker discussing immutability,
call-by-reference/call-by-value and intensional/extensional equality
which makes it clearer why the distinction between CBR and CBV is not
very useful.

Is there a "guided tour" to such things? Maybe reading Redex book
(that is, studying operational semantics, as I see it) would help? (To
make it clear, having read PLAI and done the exercises, I have many
questions of the "why"/"why not" sort -- and those you've raised, and
I don't know which books to follow.)

Artyom Shalkhakov.

Posted on the users mailing list.