On Mon, Sep 11, 2017 at 8:21 PM, Barry Warsaw <ba...@python.org> wrote:
> On Sep 11, 2017, at 19:16, Guido van Rossum <gu...@python.org> wrote: > > > > Or we could just have two arguments, eq=<bool> and order=<bool>, and > some rule so that you only need to specify one or the other but not both. > (E.g. order=True implies eq=True.) That seems better than needing new > constants just for this flag. > > You’d have to disallow the combination `order=True, eq=False` then, > right? Or would you ignore eq for any value of order=True? Seems like a > clumsier API than a single tri-value parameter. Do the module constants > bother you that much? Yes they do. You may have to import them, or you have to prefix them with the module name -- whereas keyword args and True/False require neither. We could disallow order=True, eq=True. Or we could have the default being to generate __eq__, __ne__ and __hash__, and a flag to prevent these (since equality by object identity is probably less popular than equality by elementwise comparison). Perhaps: order: bool = False eq: bool = True and disallowing order=True, eq=False. -- --Guido van Rossum (python.org/~guido)
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com