[NOTABLE PR] First step from traditional to generic runtime

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Thu Mar 16 10:49:48 PDT 2017


On 3/16/17 10:52 AM, Kagamin wrote:
> On Monday, 6 March 2017 at 18:06:27 UTC, Andrei Alexandrescu wrote:
>> On 3/6/17 8:42 AM, Kagamin wrote:
>>> v1==v2;
>>>
>>> can be lowered as
>>>
>>> {
>>>   import rthelpers:cmp;
>>>   cmp(v1,v2);
>>> }
>>>
>>> or something like that
>>
>> Interesting idea, will keep it in mind. Thanks! -- Andrei
>
> Even better:
>
> in object.d:
> ---
> public import _d_helpers=core.helpers;
> ---
>
> lowering:
> ---
> v1==v2
> to
> _d_helpers.cmp(v1,v2)
> ---
>
> This has the best scalability and zero possibility of code breakage and
> probably can be done right now. Also since the renamed import must be
> referenced explicitly, it doesn't need to be processed until used.

A public import inside object.d is not useful because essentially it 
opens more files to load the same amount of code. Generally, there are a 
few interesting tradeoffs that govern handling of modularity in 
object.d. -- Andrei



More information about the Digitalmars-d mailing list