PEP 505: status?

Perhaps maybe could go to much shallower lengths than Haskell-esque pymaybe? Consider something like this:

def maybe(nullable, *args):
    """A 'readable pseudo-code' implementation of null-coalescing operator (??)."""

    for j in (i for i in [nullable, *args] if i is not None):
        return j

Now we’re comparing:

data = data if data is not None else info if info is not None else []
files = [] if files is None else files
headers = {} if headers is None else headers

to

data = maybe(data, info, [])
files = maybe(files, [])
headers = maybe(headers, {})
2 Likes