For:<div><br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'courier new', monospace; font-size: 13px; ">def __init__(self, pid:pid, ppid:ppid, cmd:cmd, _fd:fd, reachable:reachable, user:user)</span></div>

</blockquote><div><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><div>This either conflicts with parameter annotations or you've got the annotation on the wrong side (and annotations are expressions so this won't work). I had a similar idea to what Chris Rebert suggested:</div>

</div><div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><div><font class="Apple-style-span" face="'courier new', monospace">from somewhere import auto_init</font></div>

</div></div><div><font class="Apple-style-span" face="'courier new', monospace">@</font><span class="Apple-style-span" style="font-family: 'courier new', monospace; ">auto_init</span></div><div><font class="Apple-style-span" face="'courier new', monospace">def __init__(self</font><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'courier new', monospace; font-size: 13px; ">, pid, ppid, cmd, fd:[<span class="Apple-style-span" style="font-size: small; border-collapse: separate; ">auto_init</span>.private], reachable:[<span class="Apple-style-span" style="font-size: small; border-collapse: separate; ">auto_init</span>.skip], user:[<span class="Apple-style-span" style="font-size: small; border-collapse: separate; ">auto_init</span>.name('user_name')])</span></div>

<div><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'courier new', monospace; font-size: 13px; ">   blah</span></div></blockquote><div><div><br></div><div>The annotation <span class="Apple-style-span" style="border-collapse: collapse; font-family: 'courier new', monospace; font-size: 13px; "><span class="Apple-style-span" style="font-size: small; border-collapse: separate; ">auto_init</span>.private</span> is equivalent to <font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; "><span class="Apple-style-span" style="font-size: small; border-collapse: separate; ">auto_init</span>.name</span>('_'+<i>parameter_name</i>)</font>.</div>

<div><br></div><div>Note that I wrote <span class="Apple-style-span" style="border-collapse: collapse; font-family: 'courier new', monospace; font-size: 13px; ">fd:[<span class="Apple-style-span" style="font-size: small; border-collapse: separate; ">auto_init</span>.private]</span> instead of <span class="Apple-style-span" style="border-collapse: collapse; font-family: 'courier new', monospace; font-size: 13px; "><span class="Apple-style-span" style="font-size: small; border-collapse: separate; ">auto_init</span>.private</span>. One of the strange aspects (to me) of parameter annotations is that they have no semantics which opens them up to multiple conflicting uses. If we standardize on a convention that the annotation is a list (or tuple) of annotations, then this leads us to usage like</div>

</div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'courier new', monospace; font-size: 13px; ">foo:[</span><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'courier new', monospace; font-size: 13px; "><span class="Apple-style-span" style="font-size: small; border-collapse: separate; ">auto_init</span></span><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'courier new', monospace; font-size: 13px; ">.name('bar'),constraint.non_negative,etc]</span>.</div>

</div></blockquote><div><div><br></div><div>--- Bruce<div><div><i><b>New! </b></i>Puzzazz newsletter: <a href="http://j.mp/puzzazz-news-2011-04" target="_blank">http://j.mp/puzzazz-news-2011-04</a> including April Fools!</div>

<div><span style="font-style:normal"><i><b>New!</b></i></span><i> </i>Blog post: <a href="http://www.vroospeak.com" target="_blank">http://www.vroospeak.com</a> Ironically, a glaring Google grammatical error</div></div><br>


<br><br></div></div>