[plt-scheme] Re: Scheme workshop survey

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sun Oct 19 22:33:17 EDT 2008

The TLS is plain old wrong. Take it from its author/co.

* When Dan wrote TLL(1), people had just scratched the surface of  
semantics. Dan wrote down what people saw and whenever he wrote "what  
is the value of", he meant "what does a conventional Lisp/Scheme  
interpreter print when you type this into its repl."

* I left it alone because Dan wanted a light-hearted introduction to  
"heavy" topics. Changing that would have pushed it way far away from  
"sit down with an interpreter and play" atmosphere.

* For a semanticist, however, all of this is nonsense. A syntactic  
way of "doing semantics" is to find some SUBSET of the language of  
expressions that represents "things that we no longer have to  
calculate with because the answer is obvious" aka VALUES, and to come  
up with relations that map programs to elements of this set. In this  
spirit, (a b c) is by no means a value. It is an expression that  
applies a to the arguments b and c. On the other hand '(a b c) IS an  
expression, it IS obvious what it means, and so it IS natural to  
think of it as a value, though I tend to think of it as a short-hand  
for a value.

A model-oriented way of "doing semantics" would certainly represent  
'(a b c) as some 'object that stores three symbols.' (Whatever the  
object is: a record in some language, an element of a tuple space in  
the Scott-domain world.) Again, there is NO WAY to equate this object  
with (a b c), which would denote the result of an application.

So enough said. I am tuning out. -- Matthias

On Oct 19, 2008, at 10:02 PM, Woodhouse Gregory wrote:

> Don't you think the problem ultimately comes down to the limits of  
> natural language? After all, the question was posed in English. In  
> "The Little Schemer" there is a chapter (9?) where a great deal of  
> emphasis is placed on the differing typefaces used (in that book)  
> for atoms and bits of Scheme code. By introducing this convention,  
> TLS is, in effect, using an artificial language to circumvent some  
> of the difficulties of ordinary English (even as used to discuss  
> languages like Scheme).
> I would have answered (a b c), but I appreciate the arguments for  
> using '(a b c) and, to me, it seems that both are a kind of  
> compromise.
> "Interaction is the mind-body problem
> of computing." --Philip  L. Wadler
> http://www.gwoodhouse.com
> http://GregWoodhouse.ImageKind.com
> On Oct 19, 2008, at 2:45 PM, Shriram Krishnamurthi wrote:
>> On Sun, Oct 19, 2008 at 4:31 PM, Richard Cleis <rcleis at me.com> wrote:
>>> Does the following progression make sense, by ordinary standards of
>>> Ameringlish?
>>> (car '((a b c) x y z)) is '(a b c)
>>> The value of (car '((a b c) x y z)) is (a b c)
>> Not to me.
>>   (a b c)
>> is an expression, not a value.  It may also be the print
>> representation chosen by some particular implementation for some
>> particular value, but then so is
>>   /---+---+---\
>>   | a | b | c |
>>   \---+---+---/
>> (Do you see my point?)
>> Shriram
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20081019/178369da/attachment.html>

Posted on the users mailing list.