Development environment (WAS: generative programming and debugging)

Gor Gyolchanyan gor.f.gyolchanyan at gmail.com
Thu Oct 20 02:38:21 PDT 2011


Not a compiler (we have 3), only a front-end. Preferably in D itself
and preferably as modular as possible (e.g. not everyone needs the
semantic parser).
Provided a good D front-end in D it'll be very easy to make a great
IDE, even if it's GUI is bad.

On Thu, Oct 20, 2011 at 10:20 AM, Jacob Carlborg <doob at me.com> wrote:
> On 2011-10-19 21:35, Marco Leise wrote:
>>
>> Am 19.10.2011, 13:40 Uhr, schrieb Gor Gyolchanyan
>> <gor.f.gyolchanyan at gmail.com>:
>>
>>> I've yet to see a single worthwhile IDE for D.
>>> I think it would be a great idea to have a standard reference IDE
>>> (just as DMD is the standard reference compiler).
>>> These things would be so useful:
>>> Inline compile-time ddoc and mixin views would make development
>>> process so much easier.
>>> Inline compile-time non-ctfe-able code highliting.
>>> Automatic import detector, based on visible import paths.
>>
>> Seems like I'm not the only one who thought of an IDE recently that is
>> fast and can give hints on functions. Except I thought of highlighting
>> pureness, safeness and the like by changing the background color slightly.
>> The next thing is all the features of Eclipse that have to do with the
>> code you write or running / debugging. Like regex search and replace,
>> finding references to methods/fields, refactoring, code templates, class
>> outlines, type search, jump to declaration etc.
>> A difficulty for IDEs seems to be the complexity of D's CTFE and return
>> type inference. DDT for example cannot give auto-completion hints on
>> auto variables. That needs to be addressed.
>> I'd also like very much a way to set up multiple targets for a project:
>> - typical debug build
>> - typical release build
>> - unit test build
>> - external launcher (i.e. dump MySQL table structure and generate D
>> import)
>> - run another program that uses my program (through IPC, as a debuggee)
>> - run a DLL host using my library (also debuggable)
>> - cross-compiling (currently x86-32/-64 for DMD)
>>
>> Especially a D frontend written in D would be a good start for a
>> cross-platform IDE and other derived work. Ideally I think it should not
>> be an external program or parse everything in one step. It could be a
>> lot faster if it worked closely together with the editor itself and only
>> updated the syntax tree where the user edited code. Changes in
>> templates/functions/classes have to be propagated to the users of that
>> code.
>
> Yet again, what's needed is a D compiler (or at least a front end) that can
> be used as a library.
>
> --
> /Jacob Carlborg
>


More information about the Digitalmars-d mailing list