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