On 4/8/13 6:39 AM, serge-sans-paille wrote:
>
> In pythran/analysis.py:
>
> > +        NodeAnalysis.__init__(self, Aliases, ArgumentReadOnce)
> > +
> > +    def visit_For(self, node):
> > +        self.result.add(node.iter)
> > +        self.generic_visit(node)
> > +
> > +    def visit_Compare(self, node):
> > +        if type(node.ops[0]) in [ast.In, ast.NotIn]:
> > +            self.result.update(node.comparators)
> > +        self.generic_visit(node)
> > +
> > +    def visit_Call(self, node):
> > +        for i, arg in enumerate(node.args):
> > +            isReadOnce = lambda f: (f in self.argument_read_once
> > +                                     and self.argument_read_once[f][i] <= 1)
> > +            if all(isReadOnce(alias)
>
> no came case for functions: isreadonce or is_read_once (the first 
> looks more pythonic to me)
>

Really? Anything not camelcased or underscored separated seems to me 
like plain old ugly libc interface :(