embedded systems developers tools, cross compilers
  Home  |   SwiftX Archive  |   SwiftForth Archive  |

Re: SWOOP vs. SwiftX

From: Ron Oliver <roliver_at_openesque.com>
Date: Thu, 14 Jul 2005 08:24:56 -0700 (PDT)

On Tue, 12 Jul 2005, Harkness, Howard wrote:

> it appears that vocabularies have changed a bit since my PolyForth
> days,

Just a little. :) The ANS wordlists are effectively an extended
version of the polyFORTH-style vocabularies. The usage is more
verbose, but it ends up doing pretty much the same thing.

> and it isn't clear to me (yet) how they work wrt SwiftX (I hope to
> get over that soon...).

SwiftX doesn't support multiple target vocabularies in the way
you're looking for. TARGET is where target definitions go.
TARGET-SHELL is used if you have a resident interpreter on your
target system. But that's all you get. This isn't trivial to
change...I've looked at doing it before, and it would involve a lot
of low-level modifications to the cross-compiler.

(Actually, TARGET and TARGET-SHELL aren't the vocabularies proper;
they do other needed compiler setup as well.)

> the number of words in the system is so large that I am using
> hypenated group prefixes to keep them straight; a very un-Forth-like
> approach.

That depends on what you think "Forth-like" means. Most Forth
programmers like to think of "Forth-like" as meaning "simple and
elegant." Maybe your application is over-complicated, and needs to
be re-thought and simplified. Simple code is better than tools to
manage complex code. Of course, it's often not a simple thing to
design simple code.

You can use unnamed storage and words to reduce the number of words
to dream up names for, but that often makes the application more
difficult to debug. An encapsulated "object" that you can't walk
through in the interpreter is, in my opinion, the worst case of
"un-Forth-like." I speak from experience on this topic, having
inflicted such pain on myself before. Unnamed words can be useful,
but if you go that route, you really need to give great thought to
"how will I debug this?" If you can't sit at the interpreter and
"hand-walk" any piece of code in the system, you've lost the single
greatest advantage of working in Forth.

-- 
Ron Oliver <roliver_at_openesque.com>
----------------------------------------------------------------------
swiftx_at_forth.com          The SwiftX programming discussion email list
To unsubscribe, send subject "unsubscribe" to swiftx-request_at_forth.com
For list command help, send subject "help" to swiftx-request_at_forth.com
Message archives are located at http://www.forth.com/archive/swiftx
----------------------------------------------------------------------
This list is a forum for SwiftX users.  For product support and bug 
reports, please send email to support_at_forth.com
----------------------------------------------------------------------
Received on Thu Jul 14 2005 - 08:25:14 PDT

This archive was generated by hypermail 2.2.0 : Tue Dec 02 2008 - 03:04:50 PST