[pypy-dev] Re: type problems
mwh at python.net
Mon Jul 7 19:07:07 CEST 2003
Samuele Pedroni <pedronis at bluewin.ch> writes:
> I agree with this.
> At 17:45 07.07.2003 +0200, Michael Hudson wrote:
>> I wrote this on the train yesterday. Some of it is a bit out of
>> date from talking on IRC today, but not all of it.
>> A tip for making the multimethod implementation more comprehensible:
>> separate finding the method to call from calling it. Also,
>> consistently using common lisp terminology would help *me*, if
>> no-one else.
> it makes sense in general, one problem is that delegation is very
> specific to our multimethods, there is no such notion in CL,Dylan,...
Well, OK, but in other places. Applicable methods is one notion that
certainly is transferable.
I also notice that raising FailedToImplement is very like calling
call-next-method except that control flow never returns.
I think it makes sense to have compute-applicable-methods or whatever
be a generator.
>> And, finally, presuming that the implementation isn't going to
>> change drastically another four or five times, documentation would
>> be good! As Samuele and Armin are probably too close to write this,
>> perhaps I'll have a stab. Also, disentangling them from the
>> StdObjSpace implementation (if possible) would probably reduce the
>> general level of incomprehension.
>> I want a spec for the applicable method computation algorithm -- a
>> sufficiently detailed description to allow implementation by someone
>> unfamiliar with our present one. I would also like an explanation
>> of why our algorithm is so flaming complicated.
> a formal spec for what it happens would be very good indeed. If we
> cannot write it then we should change the code so that we can write
This is part of the plan :-)
> If dispatch table compression is the way we want to follow it
> becomes important e.g. to know whether our rules are monotonic
> (table compression algos I know about need that) and to reformulate
> delegation relationships as some kind of subtyping rel.
If you say so :-)
I do notice delegation is what screws a naive attempt to memoize more
of the applicable method computation.
 Modem speeds being what they are, large .avi files were
generally downloaded to the shell server instead.
 Where they were usually found by the technical staff, and
burned to CD. -- Carlfish, asr
More information about the Pypy-dev