Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
On 24/08/2012 00:18, alex wrote: Hi everyone, Right after the GSoC finished (I'm really sure I passed :)), I've just found more time to improve things drastically: I also have to extend my congratulations for the work you have done. I tried Mono-D several releases ago (before Summmer), and even then it was already very good in its semantic functionality (autocomplete etc.). It was the only D IDE to come anywhere close to what DDT and Descent had in terms of semantic functionality (sorry VisualD and others :P ), and even more, it actually didn't just come close but actually surpassed it significantly! -- Bruno Medeiros - Software Engineer
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
On Friday, 24 August 2012 at 02:40:43 UTC, Nick Sabalausky wrote: On Fri, 24 Aug 2012 01:18:25 +0200 "alex" wrote: class D : C!(A!int.SubClass) { } // is not allowed, but A!int is -- why? IIRC, I've had problems doing anything complex in a no-paren template parameter. I always figured if you're doing no-parens, it had to be a single token (Maybe I'm wrong?). Does it work if you do this?: A!(int.SubClass) It's working just with the subclass marked as static and without any further template paramters, not with A!(int.SubClass) but with A!int.SubClass :)
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
On Friday, 24 August 2012 at 00:10:03 UTC, Piotr Szturmaj wrote: F i L wrote: http://i3.kym-cdn.com/entries/icons/original/000/004/128/BRILLIANT_.jpg Great work as always, Alex :D Yes! This is really good project! :) Thanks :D
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
IIRC, I've had problems doing anything complex in a no-paren template parameter. I always figured if you're doing no-parens, it had to be a single token (Maybe I'm wrong?). Does it work if you do this?: A!(int.SubClass) primitive or identifier, iirc
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
On 2012-08-24 01:18, alex wrote: Hi everyone, Right after the GSoC finished (I'm really sure I passed :)), I've just found more time to improve things drastically: By using a nice combination of storing AST children both sorted by name in a dictionary and in normal list, I was able to increase the resolution performance extremely - that means it takes ~0.3 milliseconds instead of ~3ms to resolve a normal symbol like a local variable or a local class definition. As a side effect, UFCS completion and preparation right after startup gained a maximum of performance boost! Tooltips and (later on) semantic highlighting could be done even more faster :) Then I fixed several issues with template parameter deduction - and figured out several bugs or a kinda undefined behaviour of dmd: class A(T) { class SubClass {} } class C(U: A!W.SubClass, W){} class D : C!(A!int.SubClass) { } // is not allowed, but A!int is -- why? Furthermore I fixed the parameter completion on this() and super() expressions, what implies a great usability bonus imho. Not to forget all the classic null-check issues and smaller bugs. That sounds great. I think it's time I give Mono-D a try. -- /Jacob Carlborg
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
On Fri, 24 Aug 2012 01:18:25 +0200 "alex" wrote: > > class D : C!(A!int.SubClass) { } // is not allowed, but A!int is > -- why? > IIRC, I've had problems doing anything complex in a no-paren template parameter. I always figured if you're doing no-parens, it had to be a single token (Maybe I'm wrong?). Does it work if you do this?: A!(int.SubClass)
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
F i L wrote: http://i3.kym-cdn.com/entries/icons/original/000/004/128/BRILLIANT_.jpg Great work as always, Alex :D Yes! This is really good project! :)
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
http://i3.kym-cdn.com/entries/icons/original/000/004/128/BRILLIANT_.jpg Great work as always, Alex :D
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
On Thursday, 23 August 2012 at 23:23:39 UTC, Piotr Szturmaj wrote: alex wrote: Then I fixed several issues with template parameter deduction - and figured out several bugs or a kinda undefined behaviour of dmd: class A(T) { class SubClass {} } class C(U: A!W.SubClass, W){} class D : C!(A!int.SubClass) { } // is not allowed, but A!int is -- why? try marking SubClass with static keyword. This works indeed, but nervertheless not for templated sub classes like ... { static class SubClass(U) {} }
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
alex wrote: Then I fixed several issues with template parameter deduction - and figured out several bugs or a kinda undefined behaviour of dmd: class A(T) { class SubClass {} } class C(U: A!W.SubClass, W){} class D : C!(A!int.SubClass) { } // is not allowed, but A!int is -- why? try marking SubClass with static keyword.