How much time will D1 be around?

Frits van Bommel fvbommel at REMwOVExCAPSs.nl
Fri Nov 14 03:09:56 PST 2008


Ary Borenszweig wrote:
> Frits van Bommel escribió:
>> Ary Borenszweig wrote:
>>> Now that D2 is being developed, I don't know how much time it will 
>>> take until it is finished. Once it is, what will happen to D1? Will 
>>> anyone still use it?
>>
>> I think I might keep using it for a while yet. D2 has some features I 
>> dislike. On the other hand, some others are very tempting...
>>
>>> I ask this because from time to time I like to add new features to 
>>> Descent to improve D1 support. Semantic analysis is pretty done for 
>>> D1, except for some bugs that are hard to fix, or at least take a lot 
>>> of time. :-P
>>
>> Well, some places I'm still really missing semantic analysis in Descent:
>> * Nested functions (their bodies don't seem to get analyzed)
> 
> Do you have an example? It seems to work for me. Maybe you are talking 
> about templates? These are not analyzed.

No, I'm talking about nested functions. However, trying to create a 
small example shows that they do indeed work. Unfortunately, that's 
definitely *not* the case in some of the files in a project I actually 
use Descent for :(.
I'll see if I can make some time later to reduce that project to a 
reasonable testcase.

>> * Mixins (functions defined by (string) mixins don't get highlighting, 
>> don't show up in code completion, etc.)
> 
> Again, it works for me, but this time not always (because the semantic 
> analysis ported from DMD isn't finished/has bugs). But I tried this 
> example:
> 
[snip]

Again, this works for the small testcase but not in that same project I 
mentioned above :(.
(Those mixins also use templates to generate the strings, but again in a 
small testcase those very same functions actually do seem to get 
recognized...)

>> Or are those the "hard to fix"/"take a lot of time" cases? (Or fixed 
>> in trunk but not up on the update site?)
> 
> Semantic analysis bugs are hard to fix (and, well, kinda boring), 
> specially since Descent doesn't use DMD's code unmodified because I had 
> to introduce some optimizations and lazy loading. Template semantic 
> analysis is also hard, because I'd had to write it myself almost from 
> scratch. DMD analyzes templates in instantiations only. Maybe I could 
> analyze every template with a dummy instantation; the problem is I don't 
> know which concrete arguments to use (they might lead to static ifs 
> failing, etc.).

I can imagine the problems with semantic analysis of uninstantiated 
templates. But that's not where my problems were.



More information about the Digitalmars-d mailing list