To Rev or not to Rev
Gordon Webster
gwalias-rev at yahoo.com
Wed May 4 11:52:32 EDT 2005
I totally agree with Dennis. Efficient arrays are the
missing link in rev.
Gordon
--- Dennis Brown <see3d at writeme.com> wrote:
>
> On May 4, 2005, at 10:43 AM, Geoff Canyon wrote:
>
> > On May 2, 2005, at 8:02 AM, Dennis Brown wrote:
> >
> >
> >> On May 2, 2005, at 10:25 AM, Geoff Canyon wrote:
> >>
> >>
> >>
> >>> I'm not sure how to catalog Forth, but it's not
> OO (inherently --
> >>> there are OO implementations). It's procedural,
> certainly, but
> >>> the inherent stack gives it a definite
> functional feel.
> >>>
> >>>
> >>
> >> Forth is not really a high level language any
> more than assembler
> >> is. It is an alternative machine language based
> on a double stack
> >> architecture. There have been hardware
> implementations of Forth
> >> as the native machine instruction set. When
> emulated, the "Code"
> >> just consists of a list of addresses to the
> actual machine code
> >> for the native functions, or addresses of
> "higher level" defined
> >> function (uses a flag bit to tell which). This
> makes it execute
> >> much faster than "byte code". You can implement
> a higher level
> >> language within the syntax of Forth because of
> its extensible
> >> nature. "Words" are defined from other words in
> an interpretive
> >> environment. Because of the double stack
> architecture, data
> >> arguments are passed and returned on one stack
> and return
> >> addresses are in the other stack. It makes a
> very efficient and
> >> powerful architecture for developing real time
> machine controllers
> >> with a tiny amount of memory. You are free to
> define "words" that
> >> implement an OO environment if you choose. You
> could even create
> >> Rev using this as the lower level "P code", or an
> operating system
> >> for that matter.
> >>
> >
> > I understand how Forth works. I'm just not sure
> how I would
> > categorize it. On further reflection, I would say
> that Forth is
> > functional in about the same way that Revolution
> is Object-
> > Oriented. In other words, loosely. ;-)
> >
> > I disagree that Forth is no more high-level than
> assembler is. The
> > built-in extensibility of Forth syntax makes it
> much more than just
> > a convenient way of handling machine language.
>
> I was referring to the "native" instruction words as
> being like
> assembler. In fact now days, microprocessors like
> the G5 etc. have
> much higher level functionality than Forth. Just as
> you can write
> macros in assembler that implement a pseudo higher
> level language of
> your design, Forth gives the same ability in a very
> convenient
> defined way. I liked Forth a lot twenty years ago
> when I was playing
> with it. If one were to redesign it again today, a
> much more robust
> set of native words could be created for modern
> microprocessors and
> methods. But I have found that the UI is really 90%
> of programming
> these days, and for that you can't beat Rev. I just
> want fast fixed
> type array processing for the other 10% of the
> program with a
> seamless interface between the two. Rev is plenty
> fast for most
> stuff, but an order of magnitude too slow for the
> array stuff.
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
>
http://lists.runrev.com/mailman/listinfo/use-revolution
>
:::::::::: Gordon Webster ::::::::::
More information about the use-livecode
mailing list