[Python-Dev] Re: PEP239 (Rational Numbers) Reference Implemen tation and new issues (original) (raw)
Delaney, Timothy tdelaney@avaya.com
Fri, 4 Oct 2002 11:50:55 +1000
- Previous message: [Python-Dev] Re: PEP 285 (Adding a bool type) extending it further
- Next message: [Python-Dev] Re: PEP239 (Rational Numbers) Reference Implementation and new issues
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
From: Greg Ewing [mailto:greg@cosc.canterbury.ac.nz]
> I think the slice notation e.g. x[1:4] kills that idea. Maybe if ":" were a sliceobject-creating operator usable anwyere, not just in [...], and you added arithmetic methods to sliceobjects so you could use them as rationals...
The sad thing is this is actually tempting to me, given the beauty of using
the "ratio" notation x:y to denote rational literals ...
Actually, following through my thought processes, x:y is only legal in
the context of a sequence slice i.e. inside []. Therefore x:y
could be used outside of a sequence context for rationals. There would be
no ambiguity if rationals could not be used in such a context, just as
floats can't be (which would be consistent).
e.g.
a[1:2] is always a slice.
b:2 is always a rational.
The problem of course is that the : operator then becomes overloaded
depending on its context. Not a good thing.
Damn. Just realised of course that a rational could be a dictionary index. Perhaps in that case slice takes precedence, meaning that to use a rational expression as an index it would need to be disambiguated as:
d[(1:2)]
This boils down to 2 rules:
In an indexing context,
:denotes a slice expression;In a non-indexing context,
:denotes a rational expression.
with the corollary:
- In an indexing context, a rational expression must be disambiguated using parentheses.
Tim Delaney
- Previous message: [Python-Dev] Re: PEP 285 (Adding a bool type) extending it further
- Next message: [Python-Dev] Re: PEP239 (Rational Numbers) Reference Implementation and new issues
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]