On Fri, 2009-12-04 at 23:31 -0800, David Brownell wrote:
> On Tuesday 01 December 2009, Zach Welch wrote:
> > We should approach this problem as though we intend to eventually
> > decouple Jim from the core functionality and switch to a different
> > front-end language.
> 
> That's a useful statement of the extreme, but note that it's in
> two parts:  decouple ... and switch.
> 
> Decoupling is one of those things that's not fully understandable
> except in the context of concrete options.  Without seeing a few
> different front ends -- not necessarily languages, but perhaps
> just custom JTAG tools -- it's hard to know how well decoupled
> things really are.  :)

Today, I started looking into the possibility of adding Lua for
precisely this reason.  I think it would be a good fit for us, and it
would ensure that the decoupled APIs are both complete and robust.  I
think that calling Lua from TCL (and vice-versa) would be doable too.
It might be scary and inefficient, but it would be interesting. ;)

> > That would take a lot of extra work, but the 
> > preparation would yield solid architectural improvements to the system.
> > Even if we never do that (and there's no reason to), the system will be
> > cleaner for our efforts; it's classic model-view-controller separation.
> 
> True, the cleanup is worth-while.  But don't think that cleanup
> is necessarily the same as decoupling ... or that all alternate
> tasks want the same things decoupled!

Yeah, the ZY1000 minidriver has shown that clearly in recent days;
however, that gives rise to my claim that some couplings may be
indications of fundamental flaws in the design of the structures and
algorithms being used.

> Having a few alternate applications signed up to using the APIs
> would be the best way to make sure they're really "generic".

A test suite will do this for us.  That's one reason that I am pushing
so hard for this.  I won't bother to write one until things are cleaner,
because it just means rewriting it... a lot.

--Z
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to