[plt-scheme] Re: Scheme workshop survey
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>