DMD 1.038 and 2.022 releases

Yigal Chripun yigal100 at gmail.com
Sat Dec 20 12:03:08 PST 2008


Lars Ivar Igesund wrote:
> Yigal Chripun wrote:
>
>> Denis Koroskin wrote:
>>> On Sat, 20 Dec 2008 20:41:23 +0300, Yigal Chripun<yigal100 at gmail.com>
>>> wrote:
>>>
>>>> Denis Koroskin wrote:
>>>>> On Mon, 15 Dec 2008 10:58:23 +0300, Bill Baxter<wbaxter at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> For me, V1.038 compiles my code but takes a really really really long
>>>>>> time to do so.
>>>>>>
>>>>>> It now takes 1 min 20 secs for a full build, when it used to compile
>>>>>> in 13 seconds.
>>>>>> Forget the 60% slowdown from LDC -- this is 515% slower!
>>>>>>
>>>>>> (building with DSSS and tango)
>>>>>>
>>>>>> --bb
>>>>>>
>>>>> I generally make all my imports private and run a command line tool
>>>>> that strips unnecessary imports once in a while to minimize
>>>>> intermodular dependencies. Maybe it could help in your case, too?
>>>> When programming in Java, Eclipse knows to handle all of this for you.
>>>> it will suggest adding missing imports, it can remove unused imports
>>>> and it can convert a foo.bar.* into a list of the specific modules you
>>>> actually used in the code.
>>>> I wish that kind of tool would be available for D. Is this
>>>> functionality implemented in descent? if not, is it planned?
>>>>
>>>> I do realize that it's more difficult to do this for D than it is for
>>>> Java, because of Conditional compilation and other issues already
>>>> mentioned in this thread. But it would be awesome if I could just write:
>>>>
>>>> Stdout("whatever").newline;
>>>>
>>>> and get a quick-fix action (Ctrl+1) to add tango.io.Stdout to the list
>>>> of imports.
>>>>
>>>> --Yigal
>>> You should watch Descent videos on youtube, it is *much* smarter that
>>> that!
>>>
>>> http://www.youtube.com/user/asterite
>> I watched the video.
>> the functionality is that if you write: new Foo; it added automatically
>> an import for Foo. that's very cool and all but I was asking for
>> something more than that.
>>
>> for Java, Eclipse can add and manage imports for you not only when you
>> do new Somthing() but also for functions - like recognizing that
>> Stdout("string") needs to import tango.io.Stdout. More over, if you
>> wrote some of the imports yourself, or edited some code and removed the
>> only call to some function, you can ask eclipse to orginize your imports
>> and it'll remove unneeded imports and expand Java's Foo.* kind of import
>> to a list of the actual modules the code needs.
>>
>> Descent is a great project and I want to thank all the developers
>> involved in this great undertaking. All I'm saying is that it would be
>> nice to also have an "organize imports" function in Descent.
>
> And you know for certain that it doesn't have this?
>

yeap. this is one of the basic refactorings, I guess. Descent isn't 
implementing any refactorings yet, right? I think they are still working 
on finishing some other internal systems - The semantic parsing is still 
experimental IIRC.

once the semantic parsing works fully refactorings on the AST can be 
implemented, but I don't think Descent reached that stage of development 
yet. correct me if I'm wrong.

I read the InteliJ IDEA changelog for the latest version 8 today. they 
added 10 refactorings, one of which is doing a dataflow analysis on the 
pointed to symbol and shows in the call heirarchy where that symbol's 
value comes from. Sounds extremly useful to me.

-- Yigal



More information about the Digitalmars-d-announce mailing list