[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


    Date: Tue, 20 Oct 87 15:08 EDT
    From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>

    Does anyone have an unambiguous reference to a passage that claims
    that the syntax ``:1'' denotes a symbol? In the 3600 implementation,
    it's a number and I've heard people claim that this is a bug, but
    I just looked and could not find any text which convinced me of this.

Those people are wrong, see GLS's response below.

    Date: Tue, 20 Oct 1987  15:24 EDT
    From: Ram@C.CS.CMU.EDU

    How about pp339-341: "Any token that is not a potential number and
    does not consist entirely of dots will always be taken as a symbol,
    now and in the future; programs may rely on this fact."

    ":1" is not a potential number according to the rules on page 341.

":1" is not a single token in Symbolics' implementation.  Table 22-1
says : is a constituent, but that cannot be correct, since it would
forbid the extension to factored package prefixes such as
"foo:(bar baz quux)".  : is really a macro character.  It's hard, for
me anyway, to tell whether this is a simple error in the description
of read syntax in CLtL, or whether it means Symbolics chooses not to
conform to a part of the language we disagree with.  Fortunately it
makes little or no difference to the portability of practical programs.

    Date: Tue, 20 Oct 87 16:23:07 EDT
    From: gls@Think.COM

    So the token ":1" is an error and may be given any interpretation by
    an implementation.

Agreed.  No valid portable program may contain or depend on that syntax,
among numerous others.