On Jan 3, 2008 9:59 AM, phil jones <[EMAIL PROTECTED]> wrote:
>
> Hi everyone,
>
> the previous excellent discussion on wrapping emacs seemed to bring up
> an interesting topic.
>
> What would be the right messaging architecture to passing information
> between components of an IDE?
>
> Something which has impressed me recently is Humanized's Enso. (
> http://www.humanized.com/enso/beta/enso-developer-prototype) It's
> become indispensible to me in Windows.
>
> I noticed that you write new services for it as XML-RPC servers and
> they provide a simple Python example which is easy to get running. I'm
> now thinking of putting a couple of my own Python programs behind an
> Enso front-end, which effectively means making them XML-RPC servers.
>
> So my question is, is this too loosely coupled an architecture for a
> pluggable IDE? Is it too heavy? Is it still likely to be too heavy in
> a couple of years time?

Really it's a question of in-process, out-of-process, synchronous, or
asynchronous.  Using Enso, it seems like the idea is to build
everything out-of-process synchronous (xml-rpc is typically
implemented as a call/return semantic, not a fire/forget/callback
semantic).  I'm personally a fan if in-process/synchronous for the
vast majority of operations.  It keeps things predictable.  Allowing
out-of-process does allow for alternate implementations of parsers,
plugins, etc., but it's not something that I personally would want.
Having async calls can be convenient (I use them myself), but
typically usage is rare, so it may not be a big deal.

 - Josiah

Reply via email to