Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!think!mintaka!bloom-beacon!TUB.BITNET!net From: net@TUB.BITNET (Oliver Laumann) Newsgroups: comp.lang.scheme Subject: constants in Scheme Message-ID: <9003081635.AA14269@tub.UUCP> Date: 8 Mar 90 16:35:30 GMT Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 23 I still don't quite understand which objects are considered immutable in Scheme. The standard says "The constants and the strings returned by symbol->string are then the immutable objects, while all objects created by the other procedures in this Standard are mutable". Does this mean that objects returned by, say, "read" are mutable? Is the expression (string-set! (read) 0 #\a)) legal, when the call to (read) returns a non-empty string? And what about the elements of a vector constant? Is (set-car! (vector-ref '#((a b) c) 0) 'd) legal? By the way, why must vector constants be quoted? Does the evaluation of a vector constant ever return a result? Thanks, -- Oliver Laumann net@TUB.BITNET net@tub.cs.tu-berlin.de net@tub.UUCP