All pastes #426374 Raw Edit

Cody Brocious

public python v1 · immutable
·published 2007-04-06 03:09 UTC
rendered paste body
LT='<'GT='>'EQ='=='class Comparison(object):    def __init__(self, left=None, type=EQ, right=None):        self.left = left        self.type = type        self.right = right        def __str__(self):        return '%r %s %r' % (self.left, self.type, self.right)class Variable(object):    def __init__(self, name=None):        self.name = name        self.constraints = []        def __str__(self):        if self.name:            ret = '%s:\n' % self.name        else:            ret = 'Unknown:\n'                for constraint in self.constraints:            ret += '\t%s\n' % constraint                return ret        def __repr__(self):        if self.name:            return self.name        else:            return 'Variable()'        def __lt__(self, right):        self.constraints.append(Comparison(left=self, type=LT, right=right))        return True        def __gt__(self, right):        self.constraints.append(Comparison(left=self, type=GT, right=right))        return True        def __eq__(self, right):        self.constraints.append(Comparison(left=self, type=EQ, right=right))        return Truedef Synesthesia(func):    args = [Variable(func.func_code.co_varnames[i]) for i in range(func.func_code.co_argcount)]        func(*args)        for arg in args:        print arg        return None