[Python-3000] Switch/Case statement PEP
Josiah Carlson
jcarlson at uci.edu
Tue Dec 12 04:23:06 CET 2006
"Marcin 'Qrczak' Kowalczyk" <qrczak at knm.org.pl> wrote:
>
> Josiah Carlson <jcarlson at uci.edu> writes:
>
> > After reading Thomas' post and Talin's response, I'm going to have to
> > agree with Talin; syntax options are moot until we can decide what is
> > acceptable in the case EXPR.
>
> IMHO any expression should be acceptable, it should be evaluated when
> being compared, and there should be other means (independent from
> switch/case) to make named constants which may be expanded at compile
> time.
The problem with allowing *any* expression is that then switch/case
statements are, strictly speaking, a new syntax for a simplified
if/elif/else chain; offering precisely no advantages over what currently
exists. One important point of the entire Switch/Case statement
discussion was that if we couldn't make it fast with dictionary dispatch,
then it doesn't really have a use. Deciding on what can be made into
compile time constants, will allow for dictionary dispatch, and gives
the PEP a point.
- Josiah
More information about the Python-3000
mailing list