CTFE and DI: The Crossroads of D

Adam Wilson flyboynw at gmail.com
Wed May 9 14:20:00 PDT 2012


On Wed, 09 May 2012 14:14:18 -0700, Timon Gehr <timon.gehr at gmx.ch> wrote:

> On 05/09/2012 10:45 PM, Adam Wilson wrote:
>> On Wed, 09 May 2012 13:43:12 -0700, Timon Gehr <timon.gehr at gmx.ch>  
>> wrote:
>>
>>> On 05/09/2012 10:40 PM, Adam Wilson wrote:
>>>>
>>>> ... unfortunately, Phobos won't compile with the
>>>> patch applied because of the CTFE reliance on the DRT source.
>>>>
>>>
>>> It is actually the .di reliance. Maybe you should just fix the
>>> makefile so that it does not generate .di files for druntime.
>>
>> It's not that easy. Phobos imports the DI's
>
> It imports the modules.

The phobos makefile imports the .di files from the drt. It just so happens  
that the .di files contain full implementations so it looks the same to  
the compiler.

>> and it's make file would
>> need to be adjusted as well. Which could very well break other things.
>
> Slightly adjusting the makefile is certainly simpler than changing the  
> language.

I completely agree. I would rather do this than change the language. At  
most I'd argue for an attribute the tells the DI generator to surface the  
implementation in the DI file.

>> Also, see the issues with SharedLibs. The issue of runtime commonality
>> is no small deal.
>>
>
> It is absolutely unrealistic to do that any time soon. The runtime still  
> regularly gets essential updates.

For the moment yes, but lately that has been slowing down or at least that  
new pull rate on the DRT seems to be slowing down. But that doesn't negate  
the usefullness of having the DRT as a shared lib today. For example I  
could have multiple Shared Libraries that my company has written and their  
all compiled against the same DRT version. A Shared Lib in this case makes  
sense.

-- 
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/


More information about the Digitalmars-d mailing list