Walter Dörwald schrieb:

>>>> If a PEP is called for, I'd be happy to at least co-author it.
>>> Codecs are a major exception to Guido's law: Never have a parameter
>>> whose value switches between completely unrelated algorithms.
>> 
>> I don't think that applies here. This is more like __import__():
>> depending on the first parameter, completely different things can happen.
>> Yes, the same import algorithm is used, but in the case of
>> bytes.encode_bytes, the same algorithm is used to find and execute the
>> codec.
> 
> What would a registry of tranformation algorithms buy us compared to a
> module with transformation functions?

Easier registering of custom transformations. Without a registry, you'd have
to monkey-patch a module.

> The function version is shorter:
> 
>    transform.rot13('foo')
> 
> compared to:
> 
>    'foo'.transform('rot13')

Yes, that's a very convincing argument :)

> If each transformation has its own function, these functions can have
> their own arguments, e.g.
>    transform.bz2encode(data: bytes, level: int=6) -> bytes
> 
> Of course str.transform() could pass along all arguments to the
> registered function, but that's worse from a documentation viewpoint,
> because the real signature is hidden deep in the registry.

I don't think transformation functions need arguments.

Georg

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to