On Apr 20, 2005, at 12:45 PM, bryan o'connor wrote:
> there's also this in 2.3.1.1:
>> "The syntax involving a leading package marker followed
> by a potential number is not well-defined. The consequences
> of the use of notation such as :1, :1/2, and :2^3 in a
> position where an expression appropriate for read is expected
> are unspecified."
>> and then the colon-number cleanup which suggests the right
> thing is to agree to disagree on how to define it.
>http://www.lispworks.com/documentation/HyperSpec/Issues/iss055_w.htm>> maybe we should issue a style warning stating that :\1 is
> preferred to (and more "well-defined" than) :1.
>
In X3J13 jargon, "not well-defined" is synonymous with "completely
unportable" and "software devs worried about portability shouldn't do
it, lest they be 'soundly trounced' as per Pitman's recommendation" ---
I think in this case the onus is on KMR to treat this as a portability
bug in cl-photo and fix it so people can load it in more systems,
including under openmcl.
Although it isn't a terrible idea now that it has come up to have the
openmcl reader check for this case and produce a more informative error
message, if it's not a dramatic change to the reader's token analysis.
(but note that even openmcl going belly-up would be a legal, if not
particularly user-friendly, response to seeing :1, and making openmcl
do what some other system does with :1 would just make us enablers :) )
h
> ...bryan
>>> On Apr 20, 2005, at 11.34, Hamilton Link wrote:
>>> And actually 2.3.1.1 and 2.3.1.1.1 are better references.
>>>>http://www.lispworks.com/documentation/HyperSpec/Body/02_caa.htm>>>> In it is included this gem: "If a potential number has number
>> syntax, a number of the appropriate type is constructed and
>> returned..."
>>>> and 2.3.1.1.1 says that escaped characters in an otherwise potential
>> number MUST prevent it from being a potential number, so this trick
>> will always work.
>>>> h
>>>> On Apr 20, 2005, at 12:21 PM, Hamilton Link wrote:
>>>>>>> The token 3 is a potential number and as far as I can tell shouldn't
>>> be a legit symbol. If the 3 is escaped, then it becomes the legit
>>> symbol \3. In fact openmcl does accept :\3 as a keyword.
>>>>>> See 2.3.4 "Symbols as Tokens" in the hyperspec.
>>>http://www.lispworks.com/documentation/HyperSpec/Body/02_cd.htm>>>>>> h
>>>>>> On Apr 19, 2005, at 10:05 PM, bryan o'connor wrote:
>>>>>>>>>> kmr's new cl-photo package loses on openmcl because it
>>>> wants to use some "potential number" symbols in the
>>>> keyword package.
>>>>>>>> ? :3
>>>> > Error in process listener(1): Reader error: Illegal symbol syntax.
>>>> > While executing: CCL::%PARSE-TOKEN
>>>>>>>> assuming that :3 and package::3 are both valid things,
>>>> the patch below will allow them.
>>>>>>>> i'm having problem accessing the cvs server, so this
>>>> patch is diff'd against an emacs backup file. it might
>>>> not apply cleanly.
>>>>>>>> thoughts?
>>>>>>>> ...bryan
>>>>>>>>>>>>>>>> <patch.txt>
>>>> _______________________________________________
>>>> Openmcl-devel mailing list
>>>>Openmcl-devel at clozure.com>>>>http://clozure.com/mailman/listinfo/openmcl-devel>>>>>>>>>>>>> _______________________________________________
>>> Openmcl-devel mailing list
>>>Openmcl-devel at clozure.com>>>http://clozure.com/mailman/listinfo/openmcl-devel>>>>>>>>>>>>>> _______________________________________________
> Openmcl-devel mailing list
>Openmcl-devel at clozure.com>http://clozure.com/mailman/listinfo/openmcl-devel>