[racket] constant vs. variable behavior

From: Christian Wagenknecht (c.wagenknecht at hszg.de)
Date: Fri Oct 17 12:29:32 EDT 2014

In the example as given below 'a' behaves like a constant whereas the value named with 'x' can be modified (in the interaction window) as expected. Could you help me please to understand what happened by (set! x "Bob")?

Definition window

#lang racket

(define a "Hello")

(define x "Hello")
(set! x "Bob")

Interaction window

 > (set! a 3)
. . set!: assignment disallowed;
  cannot modify a constant
   constant: a
 > (set! x 9)
 > x
9

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4810 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.racket-lang.org/users/archive/attachments/20141017/ed95b3e7/attachment.p7s>

Posted on the users mailing list.