[D-runtime] Why does druntime us .di files instead of .d?

Jonathan M Davis jmdavisProg at gmx.com
Mon Jul 25 00:16:38 PDT 2011


On Monday 25 July 2011 00:10:14 Jonathan M Davis wrote:
> On Monday 25 July 2011 09:00:45 Don Clugston wrote:
> > On 25 July 2011 07:48, Jonathan M Davis <jmdavisProg at gmx.com> wrote:
> > > On Sunday 24 July 2011 22:02:08 Sean Kelly wrote:
> > >> In essence, the fix would be to have every function that is called
> > >> by
> > >> compiler-generated code be exposed by object.di.  I suspect that
> > >> this
> > >> would expose a good part of the now hidden compiler runtime code
> > >> to
> > >> the user, which not every compiler writer may like doing.  Which
> > >> raises an interesting point.  Should CTFE support be consistent
> > >> across compilers? I'd be inclined to say so, but this appears to
> > >> have
> > >> interesting implications in terms of how code generation occurs
> > >> regarding language features (array operations in particular).
> > > 
> > > From the user's perspective, the fact that you can't iterate over a
> > > string with CTFE is a big problem (
> > > http://d.puremagic.com/issues/show_bug.cgi?id=3512 ) regardless of
> > > what
> > > the reasons for it might be. It's hugely limiting.
> > 
> > It's a trivial issue. Don't worry about it. It'll be fixed in the next
> > release. The issue Sean raises about array operations is interesting. I
> > think DMD currently does array operations far too early; they probably
> > shouldn't be converted into function calls until all semantic passes
> > have completed.
> 
> That's good to hear. As I said, I don't really understand all of the issues
> here, since I'm not familiar enough with the compiler and druntime and this
> level, but it _is_ an issue that needs to be addressed. If it's an easy fix,
> all the better.

By the way, is the CTFE problem in 
http://d.puremagic.com/issues/show_bug.cgi?id=6374 likely to be fixed by the 
next release as well? I believe that those 2 issues are the two biggest 
blockers for using CTFE with string functions (though it sounds like there is 
a workaround that we could implement in std.array.appender if we have to).

- Jonathan M Davis


More information about the D-runtime mailing list