Pyd: Wrapping too many functions in a class gives a compilererror

Pragma ericanderton at yahoo.removeme.com
Fri Jul 13 10:07:50 PDT 2007


Steve Teale wrote:
> Pragma Wrote:
> 
>> BCS wrote:
>>> Reply to Pragma,
>>>
>>>> The problem is that the overly long template symbols are needed to
>>>> allow the linker to do it's job: expunge redundant symbol definitions
>>>> while locating the correct match for a dependency.  As the properties
>>>> of a template instance is defined by its arguments, you really can't
>>>> separate the two.  Combined, you get both run-time and link-time
>>>> behaviors that depend heavily on the naming spec staying right where
>>>> it is.  Change the spec, and you allow for false matches that can
>>>> really screw things up.
>>> What is the chance of a hash coalition if all (and only) over length 
>>> symbols are named by a hash code that is as long as /will/ fit?
>>>
>>> Alternately (and this will only work with single run compilation or with 
>>> external meta data) name everything with GUIDs.
>>>
>>> Unless I am mistaken, really the only thing that is needed is that some 
>>> unique name is assigned to each instance in a way that will let other 
>>> stuff find the same name from the same input.
>>>
>> Yep, that's the gist of it.
>>
>> The problem you run into with hash codes (and GUIDs generated from a given source) is that they're not unique, so 
>> collisions are possible, even if they're incredibly unlikely; linking against a library could theoretically fail 
>> *without any recourse* if you have such a collision.  Also, they need to be reversible, such that a given hash will 
>> resolve to exactly one D signature.
>>
>> -- 
>> - EricAnderton at yahoo
> 
> Off topic, but I emailed you about DDL, DSP etc - did you get it?
> 

Yes as a matter of fact I did, but only just now.  As some other folks around here can tell you, I sometimes get a 
little behind on my mail queue. :)

-- 
- EricAnderton at yahoo



More information about the Digitalmars-d mailing list