emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IDE


From: Dmitry Gutov
Subject: Re: IDE
Date: Fri, 16 Oct 2015 14:42:45 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Thunderbird/42.0

On 10/16/2015 02:17 PM, Przemysław Wojnowski wrote:

IIUC you suggest to use the Bridge Pattern to separate Project Type and
Build Tool abstractions and allow to exchange them independently, right?

Possibly. But I'm not sure yet how it'll end up looking in Elisp, and in the API. For all I know, the Project Type doesn't need to reference the Build Tool at all, in the general case. Certain commands would just reference both.

So we might be served better with separate notions of "current project" and "current build tool".

(One thing Design Patterns give, except solutions to common design
problems, is a common vocabulary to facilitate communication. So instead
of writing elaborates on design, one can simply say "We could apply The
Bridge between X and Y abstractions", etc.)

Yes and no. Details matter.

For example Maven doesn't run "clean" phase by default, when one runs other
phases (compile/package/install), so if an user wants to run "clean
install"
she has to execute two separate commands. But that can be easily defined
as one
compound command (clean-compile).

It should be easy to write as a user-defined command anyway.

BTW in the Command Pattern, commands implement a common interface, so an
executor doesn't even know what is executed, except that it is a
command, which
can be a Composite (pattern) Command that implements the same interface.

I know all these words as well. :) If you'd like a stab at the implementation (or just defining the API), be my guest.

If you'd like to use composite commands, my first question would be how a user would form them (that requires a UI). I think at this stage we should just be satisfied that this is doable, and can be delayed almost indefinitely (that's the beauty of the Composite pattern).

Yes, that would be a good addition too. But sooner or later a use has a
workflow, a set of commands that she runs every time and it would be
good to
allow to define in a separate, easily accessible command.

a) We can have command history, b) The user could define new commands. Certain tools could provide some pre-defined ones as well.

By contributors. Sometime projects have very restrictive attitude towards
new contributions and just reject most of proposals if they are not
perfect up
front and doesn't solve all their problems at once.

We try to "hone" the proposals to our general liking. On the flip side, that can result in long discussions and, at times, contributor dissatisfaction.

CEDET is in Emacs sources as well (although is has some omissions).
See lisp/cedet.
Yes, so when one would like change EDE to, lets say, apply the Bridge
pattern,
which one should be used?

I'll let Eric answer this one.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]