On Sat, Nov 8, 2008 at 6:36 AM, Michael <fuzzyman@gmail.com> wrote:

This seems to be a solution in search of a problem. If you handle sentinel default values early in a function then they are rarely problematic.

The general consensus so far seems to be that None and sentinel values are good enough in practice and adding a new feature is over-engineering, but I wouldn't go as far as calling it a solution in search of problem. To me it looks similar to the motivation for keyword-only arguments; as the PEP mentions, one can effectively have keyword-only arguments with the idiom:

def compare(a, b, *ignore, key=None):
    if ignore:  # If ignore is not empty
        raise TypeError

Thankfully, this didn't prevent the PEP from being accepted.

George