2011/3/8 Timothy Baldridge <[email protected]>: > In my interpreter, I have several primitive wrapper objects: > IntObject, FloatObject, etc. > > Currently I'm planning to create functions for every combination: > > def add_int_float(i, f): > return FloatObject(i.int_value() + f.float_value()) > > then I'd need some sort of dispatch code that would say > > if isinstance(arg1, IntObject) and isinstance(arg2, FloatObject): > return add_int_float(arg1, arg2) > > It seems like pypy should have something to do this already. I saw > some information on this but that seemed specific to the Python > interpreter.
You could use multimethods. Look at the stuff in pypy/objspace/std/ for examples. (It's a bit messy.) > > What's the recommended procedure on this? Is there a way to tell pypy > "this object wraps a single value, so keep it unwrapped if you can", > or does pypy figure that out automagically? The JIT will unwrap things automatically. -- Regards, Benjamin _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
