NEW_FEATURE = "remove_barry_from_BDFL" or 
"barry_resign_as_FLUFL"/"barry_resign_as_BDFL";

Add a new future import NEW_FEATURE. This reverts the effects of the future 
import "barry_as_FLUFL" easter egg IF it is ever imported. This is absolutely 
unnecessary when "barry_as_FLUFL" isn't imported.

There can be optional messages attached to a Barry-related future import:
- When future import NEW_FEATURE is imported and future import "barry_as_FLUFL" 
is already imported:
-- "Barry was overthrown from BDFL-ship!" ( friendlier message: "Barry has 
resigned from FLUFL-ship."/"Barry has resigned from BDFL-ship." )
- When future import "barry_as_FLUFL" is imported and NEW_FEATURE is already 
imported:
-- "Barry has returned as FLUFL." ( or "Barry has returned as BDFL." )

This idea also suggests allowing future imports anywhere in the file as long as 
it's Barry-related ( optional feature: only allow a Barry-related future import 
IF it is the opposite of the previous Barry-related future import. The opposite 
of "no Barry-related future imports yet" is the future import "barry_as_FLUFL" )

Test cases:
>>> from __future__ import barry_resigned_as_FLUFL # no effect
>>> from __future__ import barry_as_FLUFL
>>> 1 <> 2
True
>>> 1 != 2
  File "<stdin>", line 1
    1 != 2
      ^^
SyntaxError: with Barry as BDFL, use '<>' instead of '!='
>>> from __future__ import barry_resigned_as_FLUFL
Barry has resigned from BDFL-ship.
>>> 1 <> 2
  File "<stdin>", line 1
    1 <> 2
      ^^
SyntaxError: invalid syntax
>>> 1 != 2
True
>>> from __future__ import barry_as_FLUFL
Barry has returned as FLUFL.
>>> 1 != 2
  File "<stdin>", line 1
    1 != 2
      ^^
SyntaxError: with Barry as BDFL, use '<>' instead of '!='
>>> 1 <> 2
True
>>> from __future__ import barry_resigned_as_FLUFL
Barry has resigned from BDFL-ship.
>>> 1 != 2
True
>>> 1 <> 2
  File "<stdin>", line 1
    1 <> 2
      ^^
SyntaxError: invalid syntax
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/2JTDWRAM4OCZPRH3YZQV5IAE3NHURR5O/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to