Hi Artyom,
>> 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.
I'm afraid you took a different interpretation of "have" than I
intended. I meant this as a description of the current state of
affairs, not as a statement of eventual necessity or inevitability.
That is, I feel it is *unfortunate* that things are this way, and that
they can be remediated.
> Maybe reading Redex book
> (that is, studying operational semantics, as I see it) would help?
Not in its current state, I'm afraid. Right now the Redex book is
even narrower than PLAI. (I just ran a course from it this semester.)
I don't believe there is actually a good PL book on the market (PLAI
included). To really do its job, a PL book has to be deeply
intertwined with programming itself. (After all, that's where
languages come from, and that's what they go to.) At least, this is a
dominant prejudice behind PLAI, and I expect many people on this list
take the above parenthetical sentence as tautological. The current
book is only a start in this direction.
Unfortunately, most "advanced" PL books come from and go to
mathematics. This is not to say that all mathematics in PL is
irrelevant; many people who do mathematical PL have profound insights
into software. However, even when these insights exist, they may not
be accessible to people without the right training.
At a very coarse level, one could argue that most PL texts tend toward
the L, and hope that you can infer the line from there to the P on
your own. (I mean, of course, to speak only of the intellectually
palatable PL texts in the first place, unlike the rubbish that sells.)
Shriram