On 07/07/2013 01:42 PM, Ronald Oussoren wrote:
On 7 Jul, 2013, at 13:35, Larry Hastings <la...@hastings.org> wrote:
On 07/07/2013 07:25 AM, Ronald Oussoren wrote:
Signature objects use a name in angled brackets to indicate that a parameter is positional only, for
example "input(<prompt>)". That might be an alternative to adding a "/" in the
argument list in pydoc's output.
I wasn't aware that Signature objects currently had any support whatsoever for
positional-only parameters. Yes, in theory they do, but in practice they have
never seen one, because positional-only parameters only occur in builtins and
Signature objects have no metadata for builtins. (The very problem Argument
Clinic eventually hopes to solve!)
Can you cite an example of this, so I may examine it?
I have a branch of PyObjC that uses this:
<https://bitbucket.org/ronaldoussoren/pyobjc-3.0-unstable/overview>. That
branch isn't quite stable yet, but does add a __signature__ slot to objc.selector and
objc.function (basicly methods of Cocoa classes and automaticly wrapped global
functions), both of which only have positional-only arguments. With the patch for
pydoc/inspect I mentioned earlier I can then generate somewhat useful documentation
for Cocoa classes using pydoc.
A word of warning though: the PyObjC source code isn't the most approachable,
the code that generates the Signature object is actually in python
(callable_signature in pyobjc-core/Lib/objc/_callable_docstr.py)
Ah. In other words, you have proposed it yourself in an external
project. I thought you were saying this was something Python itself
already did.
In that case, I think I will stick with Guido's suggested syntax.
Consider window.border in the curses module: eight positional-only
parameters, each in its own optional parameter group. Adding sixteen
angle-brackets to that already unreadable morass will make it even
worse. But with "/" we add only a single extra character, in an
easy-to-find place (the end).
//arry/
_______________________________________________
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