On Mon, Oct 13, 2014 at 11:55 AM, Matthias Felleisen
<[email protected]> wrote:
>
> On Oct 13, 2014, at 11:53 AM, Christian Wagenknecht <[email protected]> 
> wrote:
>
>> With regard of Racket's symbols I have a problem with the consistency of the 
>> terminology as follows.
>> A symbol in Scheme and maybe in earlier Racket versions is considered as an 
>> identifier. For example xyz is a symbol, whereas 'xyz avoids the evaluation 
>> of xyz.
>>
>> In current version the little ' (normally as shorthand for quote) belongs to 
>> the symbol. For example 'xyz is a symbol. A symbol is obviously considered 
>> as a quoted identifier, at least syntactically.
>>
>> However, when using a symbol as part of an expression the prepending ' 
>> disappears. For example: (vector 1 'xyz), consisting of a number and a 
>> symbol evaluates to '#(1 xyz). But xyz is not a symbol but an identifier. 
>> Therefore to say that this vector belongs of a number and a symbol is no 
>> longer valid. (vector-ref '#(1 xyz) 1) returns 'xyz, which is correct, 
>> however, this is also visually a difference where there is none.
>>
>> Could you help me to get it right, please?
>
>
> You need to distinguish to what an evaluation evaluates (a value) and how the 
> value prints. These are separate concerns and the Lisp/Scheme community 
> suffered from a conflation for decades; Brian Smith's treatise on 2Lisp and 
> 3Lisp was the worst form of this suffering.

The quote is there -- it is on the outside. These two printed forms:

  (vector 'x 'y)

  '#(x y)

are the same value.

Robby

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to