Subject: Re: [TI994A] TurboForth preparation

From: Owen Brand <[email-masked]>
Date: Fri, 9 Apr 2010 20:10:21 -0400

Wow-- Chapter 2 of the book was alot more intense than chapter 1.  It  
seems to be a bit confusing on some terminology... "Top" "First" on  
the stack... It talks about the "top" of the stack, then it talks  
about "first number".  I lose track when the terms aren't consistent.   
It's description of ROT is quite confusing.  The description, the  
numeric "contents of stack" table and the graphic illustration are all  
conflicting each other...  I'm going to move on, but for the record,  
that section really sucked!  :)

Owen Brand
Opry99er.com

On Apr 9, 2010, at 11:23 AM, mark wills <[email-masked]>  
wrote:

> I don't know what a comment editable glossary is, sorry! :-(
>
> It's a 40 column editor, it windows like FWEB/TI-Writer. If I can  
> get the code to run in TI994W I will add 80 column support too.
>
> Mark
>
> From: Owen Brand <[email-masked]>
> To: "[email-masked]" <[email-masked]>
> Sent: Fri, 9 April, 2010 13:41:37
> Subject: Re: [TI994A] TurboForth preparation
>
>
>
> Hey man--- will you have a built-in, "comment-editable" glossary in  
> TurboForth?  Also, is it a 32 column editor?  Sorry for all the  
> questions--- just excited.  :)
>
> Owen Brand
> Opry99er.com
>
> On Apr 9, 2010, at 5:33 AM, mark wills <[email-masked]>  
> wrote:
>
>>
>> A good way to practice Forth is with TI-Forth - it's free and it's  
>> TI ;-)
>>
>> Yes, Forth uses a stack, it is the absolute central core running  
>> through Forth.
>>
>> You are correct that postfix notation is a symptom, but it's not  
>> unique to Forth. Many scientific calculators use RPN (reverse  
>> polish notation, to give it its correct name).
>>
>> We are taught in school that 2 + 4 + 6 = 12
>>
>> In RPN 2 4 + 6 + = 12
>>
>> OR... 2 4 6 + + = 12
>>
>> How does that work? Lets take the first example:
>>
>> 2 goes on the stack
>> 4 goes on the stack
>> + does it's work. It is programmed to REMOVE the TOP TWO numbers  
>> from the stack, add them, put the RESULT on the stack (6)
>>
>> So now, we have 6 on the stack
>>
>> Then another 6 is placed on the stack.
>> Then + runs again, removing the two 6's and placing a single 12 on  
>> the stack
>>
>> Here is a VERY important distinction between Forth and other  
>> languages: In XB, for example, things like + - * etc are OPERATORS.  
>> They don't work like statements or functions. They are kind of  
>> special. It's different in Forth. + is JUST ANOTHER WORD in Forth.  
>> It is a little program in it's own right, that removes two values  
>> from the top of the stack, adds them, and puts the result on the  
>> stack.
>>
>> You can even CHANGE what + (or ANY other word does):
>>
>> : + - ." HELLO" ;
>>
>> Now, + does a subtraction AND says hello!
>>
>> 12 10 +
>> 2 HELLO
>>
>> Welcome to Forth. You may need to wear a helmet to hold your brains  
>> in. My head exploded when I started to 'get it'.
>>
>> Mark
>>
>> From: Owen Brand <owenbrand@opry99er. com>
>> To: "TI994A@yahoogroups .com" <TI994A@yahoogroups. com>
>> Sent: Fri, 9 April, 2010 4:01:28
>> Subject: Re: [TI994A] TurboForth preparation
>>
>>
>>
>> Okay Mark-- I may be getting ahead of myself here, but in Forth,  
>> there are a couple unique characteristics that I am reading about  
>> in detail right now.
>>
>> 1) Postfix notation
>> 2) LIFO stack operation
>>
>> Both of these are counter-intuitive to my linear brain... But I'm  
>> practicing them.  :) The postfix notation really just seems to be a  
>> "symptom" (for lack of a better "word") of the Last In First Out  
>> methodology.  It seems a bit strange to me, but the more I type and  
>> practice, the more sense it makes.  Your documentation will, I  
>> assume, discuss in detail the way this concept works with  
>> TurboForth?  I will be DLing a Forth terminal emulator in the  
>> morning so I can get started... :) Fun fun fun!
>>
>> Owen Brand
>> Opry99er.com
>>
>>
>> On Apr 8, 2010, at 6:28 PM, mark wills <markrobertwills@ yahoo.co.  
>> uk> wrote:
>>
>>>
>>> That's exactly right. Not only is it possible, it is positively  
>>> encouraged.
>>>
>>> And because Forth is interactive, you can test each little word  
>>> individually at the keyboard, immediately. None of this write code/ 
>>> save/assemble/ load object code/try it rubbish!
>>>
>>> There's an example in Brodie's book:
>>>
>>> : WASHER FILL WASH RINSE SPIN ;
>>>
>>> That's the high level definition for a washing machine. Now you  
>>> define the other words:
>>>
>>> : FILL WHILE NOT-FULL BEGIN FAUCET-ON FULL? UNTIL FAUCET-OFF ;
>>> : WASH 20 0 DO CLOCKWISE MOTOR-ON 5 MINUTES WAIT MOTOR-OFF ANTI- 
>>> CLOCKWISE MOTOR-ON 5 MINUTES WAIT ;
>>> : RINSE EMPTY 5 MINUTES WAIT FILL ;
>>>
>>> You get the idea... Then you go and define NOT-FULL FAUCET-ON  
>>> etc... Your application is built (or rather 'grown') from lots of  
>>> little words. You test each word as you go and move on when you  
>>> are happy with it. Notice that RINSE uses FILL to fill the washer  
>>> after draining it.
>>>
>>> When applications are built like this, they are said to be "highly  
>>> factored". You will notice that the program (at least at this high  
>>> level) almost reads like english. It doesn't even look like Forth!  
>>> You have defined your own DSL (domain specific language) for  
>>> controlling an industrial washing machine!
>>>
>>> From: Owen Brand <owenbrand@opry99er. com>
>>> To: "TI994A@yahoogroups .com" <TI994A@yahoogroups. com>
>>> Sent: Thu, 8 April, 2010 22:15:28
>>> Subject: Re: [TI994A] TurboForth preparation
>>>
>>>
>>>
>>> So if I'm reading this right, a word can be defined as a series of  
>>> other words as well???  This would make things like screen draws  
>>> lightning fast and easy to implement!!!  Also, entire sequences of  
>>> code that determine complex functions can be pieced together and  
>>> defined as a word?!?  Holy crap!!  I hope I'm reading this  
>>> correctly!
>>>
>>> Owen Brand
>>> Opry99er.com
>>>
>>> On Apr 8, 2010, at 4:33 PM, mark wills <markrobertwills@ yahoo.co.  
>>> uk> wrote:
>>>
>>>>
>>>> Yes. Forth really does rock on machines like ours, and is also  
>>>> very suitable for embedded devices. And if you ever get far  
>>>> enough into it to learn how the compiler itself works, your brain  
>>>> will explode. It is SO head smackingly simple, it's beautiful.
>>>>
>>>> Pretty much all the examples (as far as I know) in the book I  
>>>> mentioned will run in TurboForth.
>>>>
>>>> >This concept seems to be a streamlined greased lightning version  
>>>> of user-defined SUBS in XB
>>>>
>>>> One of the central practices in Forth is that of Factoring.  
>>>> Factoring is simply breaking your routines to smaller and smaller  
>>>> words, so instead of one word that is 10's of lines long (as you  
>>>> might in C) you tend to break up the routine into smaller chunks,  
>>>> each one a word. This helps with the issue of 'stackrobatics' -  
>>>> when you are having to juggle lots of things on the stack. You  
>>>> also have variables and constants. TurboForth also has VALUEs,  
>>>> which are like VARIABLEs but have a friendlier syntax.
>>>>
>>>> Forth seems difficult at first (don't get me wrong, it's harder  
>>>> than, say XB, but easier than assembly) simply because you have  
>>>> to manage the stack, which doesn't even exist in other languages.
>>>>
>>>> I constantly kick myself that I wrote Forth off as crap for so  
>>>> many years. I was so arrogant. Just because I couldn't understand  
>>>> it at the time.
>>>>
>>>>
>>>>
>>>> From: Owen Brand <owenbrand@opry99er. com>
>>>> To: "TI994A@yahoogroups .com" <TI994A@yahoogroups. com>
>>>> Sent: Thu, 8 April, 2010 21:16:49
>>>> Subject: Re: [TI994A] TurboForth preparation
>>>>
>>>>
>>>>
>>>> Wow, I'm just a few pages into the first chapter and the concept  
>>>> is so simple it's beyond brilliant!!!  This concept seems to be a  
>>>> streamlined greased lightning version of user-defined SUBS in XB,  
>>>> only much more efficient and straightforward!  It also seems to  
>>>> be the perfect language choice for the /4a, as it has absolute  
>>>> ties to ASCII and would seem to sit cleanly on top of the machine  
>>>> language.  Very good suggestion on this book!!
>>>>
>>>> Owen Brand
>>>> Opry99er.com
>>>>
>>>> On Apr 8, 2010, at 3:40 PM, mark wills <markrobertwills@  
>>>> yahoo.co. uk> wrote:
>>>>
>>>>>
>>>>> I can *HIGHLY* recommend Starting Forth by Leo Brodie.
>>>>>
>>>>> http://tinyurl. com/ydqywa4
>>>>>
>>>>> This book is AWESOME. You will totally "get" Forth by the time  
>>>>> you finish it. It's an old book, but don't let that put you off.  
>>>>> My (1st edition - woohoo!) copy goes everywhere with me, even  
>>>>> the toilet!
>>>>>
>>>>> M
>>>>>
>>>>> ----- Original Message ----
>>>>> > From: Owen Brand <owenbrand@opry99er. com>
>>>>> > To: "TI994A@yahoogroups. com" <TI994A@yahoogroups. com>
>>>>> > Sent: Thu, 8 April, 2010 17:53:29
>>>>> > Subject: [TI994A] TurboForth preparation
>>>>> >
>>>>> > In getting prepared for the highly anticipated TurboForth  
>>>>> release, I
>>>>> >
>>>>> have started reading through the SAMS TI Forth beginners guide. It
>>>>> > is
>>>>> very limited in content and doesn't actually really teach you
>>>>> > Forth. I
>>>>> also have a manual and system diskette for Super4th (which I
>>>>> > can't
>>>>> use... No Supercart). So I am trying to find some online
>>>>> > references
>>>>> on Forth development. Any good tutorials on wht or
>>>>> > Internet? Bill,
>>>>> you there?
>>>>>
>>>>> I'm gonna start
>>>>> > some serious re-tooling of my dev environment,
>>>>> hopefully I'll be able
>>>>> > to get my hands on a modded 32-16 console--if
>>>>> so I'll be modifying my
>>>>> > CF7 in the way Richard has done-- All of this
>>>>> is geared towards going
>>>>> > into high gear with developing my current game
>>>>> project, 2 utilities
>>>>> > currently in development, and a new game project
>>>>> which I'm not talking
>>>>> > about right now... All I can say is it's a port
>>>>> of a classic arcade
>>>>> > game. Anyway, if I can find some additional Forth
>>>>> info, I will
>>>>> > attempt this new game project in TurboForth. :).
>>>>>
>>>>> Owen
>>>>> > Brand
>>>>> Opry99er.com
>>>>>
>>>>> ------------ --------- --------- ------
>>>>>
>>>>> Yahoo!
>>>>> > Groups Links
>>>>>
>>>>> >
>>>>> > >http://groups.yahoo.com/ group/TI994A/
>>>>>
>>>>> > href="http://groups.yahoo.com/ group/TI994A/ join" target=_blank
>>>>> > >http://groups.yahoo.com/ group/TI994A/ join
>>>>> (Yahoo! ID
>>>>> > required)
>>>>>
>>>>> > href="mailto:TI994A-digest@ yahoogroups. com">TI994A-digest@  
>>>>> yahoogroups. com
>>>>> >
>>>>>
>>>>> > href="mailto:TI994A-fullfeatured @yahoogroups. com">TI994A- 
>>>>> fullfeatured @yahoogroups. com
>>>>>
>>>>> > ymailto="mailto:TI994A-unsubscribe@ yahoogroups. com"
>>>>> > href="mailto:TI994A-unsubscribe@ yahoogroups. com">TI994A- 
>>>>> unsubscribe@ yahoogroups. com
>>>>>
>>>>> > href="http://docs.yahoo.com/ info/terms/" target=_blank
>>>>> > >http://docs.yahoo.com/ info/terms/
>>>>
>>>>
>>>
>>>
>>
>>
>
>
>

---

From: fdos <[email-masked]>
Date: Fri, 09 Apr 2010 20:30:00 -0700

Owen,

When going through Starting Forth you should be at a terminal that's 
running Forth and doing everything that is described and you should 
monitor the parameter stack with .S so you see what is taking place 
before and after execution of the specific word and operation.  Hands on 
learning is the best way if you don't have an instructor there to answer 
your questions immediately.

Don't move on until you understand the lesson completely.  Are you using 
the second edition or the first edition of Starting Forth?  I only have 
the second edition, so if that's what you're using I can follow along. 
I remember doing this activity myself years ago, and I was absolutely 
giddy going through the lessons and seeing the results on the screen.

The first item on the stack is only on top of the stack until the second 
item is placed on the stack and so on.  ROT requires 3 items on the 
stack to begin with, and after execution the first item (in this case 
the bottom item) is rotated to the top of the stack which means the 
second item on the stack in now at the bottom of the stack and the item 
that was on top of the stack is now the second item on the stack.  This 
is why you should be at a terminal to type in 1 2 3.  Execute ROT and 
the stack order is 2 3 1.  Execute ROT again, and now the stack order is 
  3 1 2.  Once more and you're back at the starting point 1 2 3.

Are you on board now?  May the Forth be with you.

Bill S

Owen Brand wrote:
> seems to be a bit confusing on some terminology... "Top" "First" on the 
> stack... It talks about the "top" of the stack, then it talks about 
> "first number".  I lose track when the terms aren't consistent.  It's 
> description of ROT is quite confusing.  The description, the numeric 
> "contents of stack" table and the graphic illustration are all 
> <http://Opry99er.com>Opry99er.com <http://Opry99er.com>
> 
> On Apr 9, 2010, at 11:23 AM, mark wills < 
> <mailto:[email-masked]>[email-masked] 
> <mailto:[email-masked]>> wrote:
> 
>>  
>>
>> It's a 40 column editor, it windows like FWEB/TI-Writer. If I can get 
>> the code to run in TI994W I will add 80 column support too.
>>
>> Mark
>>
>>
>>     *From:* Owen Brand <[email-masked]>
>>     *To:* "[email-masked]" <[email-masked]>
>>     *Sent:* Fri, 9 April, 2010 13:41:37
>>     *Subject:* Re: [TI994A] TurboForth preparation
>>
>>
>>
>>     Hey man--- will you have a built-in, "comment-editable" glossary
>>     in TurboForth?  Also, is it a 32 column editor?  Sorry for all the
>>     <http://Opry99er.com> <http://Opry99er.com>Opry99er.com
>>     <http://Opry99er.com>
>>
>>     On Apr 9, 2010, at 5:33 AM, mark wills
>>     <[email-masked] <mailto:[email-masked]>>
>>     wrote:
>>
>>>      
>>>
>>>     A good way to practice Forth is with TI-Forth - it's free and
>>>     it's TI ;-)
>>>
>>>     Then + runs again, removing the two 6's and placing a single 12
>>>     on the stack
>>>
>>>     languages: In XB, for example, things like + - * etc are
>>>     OPERATORS. They don't work like statements or functions. They are
>>>     kind of special. It's different in Forth. + is JUST ANOTHER WORD
>>>     in Forth. It is a little program in it's own right, that removes
>>>     two values from the top of the stack, adds them, and puts the
>>>     result on the stack.
>>>
>>>     Welcome to Forth. You may need to wear a helmet to hold your
>>>     brains in. My head exploded when I started to 'get it'.
>>>
>>>     Mark
>>>
>>>
>>>         *From:* Owen Brand <owenbrand@opry99er. com>
>>>         *To:* "TI994A@yahoogroups .com" <TI994A@yahoogroups. com>
>>>         *Sent:* Fri, 9 April, 2010 4:01:28
>>>         *Subject:* Re: [TI994A] TurboForth preparation
>>>
>>>
>>>
>>>         Okay Mark-- I may be getting ahead of myself here, but in
>>>         Forth, there are a couple unique characteristics that I am
>>>         reading about in detail right now.  
>>>
>>>         1) Postfix notation 
>>>         2) LIFO stack operation
>>>
>>>         Both of these are counter-intuitive to my linear brain... But
>>>         I'm practicing them.  :) The postfix notation really just
>>>         seems to be a "symptom" (for lack of a better "word") of the
>>>         Last In First Out methodology.  It seems a bit strange to me,
>>>         but the more I type and practice, the more sense it makes.
>>>          Your documentation will, I assume, discuss in detail the way
>>>         this concept works with TurboForth?  I will be DLing a Forth
>>>         terminal emulator in the morning so I can get started... :)
>>>         Fun fun fun!
>>>
>>>         Owen Brand
>>>         <http://Opry99er.com> <http://Opry99er.com>
>>>         <http://Opry99er.com>Opry99er.com <ht tp://Opry99er.com>
>>>
>>>
>>>         On Apr 8, 2010, at 6:28 PM, mark wills <markrobertwills@
>>>         yahoo.co. uk <mailto:[email-masked]>> wrote:
>>>
>>>>          
>>>>
>>>>         That's exactly right. Not only is it possible, it is
>>>>         positively encouraged.
>>>>
>>>>         And because Forth is interactive, you can test each little
>>>>         word individually at the keyboard, immediately. None of this
>>>>         write code/save/assemble/ load object code/try it rubbish!
>>>>
>>>>         That's the high level definition for a washing machine. Now
>>>>         you define the other words:
>>>>
>>>>         : WASH 20 0 DO CLOCKWISE MOTOR-ON 5 MINUTES WAIT MOTOR-OFF
>>>>         ANTI-CLOCKWISE MOTOR-ON 5 MINUTES WAIT ;
>>>>         You get the idea... Then you go and define NOT-FULL
>>>>         FAUCET-ON etc... Your application is built (or rather
>>>>         'grown') from lots of little words. You test each word as
>>>>         you go and move on when you are happy with it. Notice that
>>>>         RINSE uses FILL to fill the washer after draining it.
>>>>
>>>>         When applications are built like this, they are said to be
>>>>         "highly factored". You will notice that the program (at
>>>>         least at this high level) almost reads like english. It
>>>>         doesn't even look like Forth! You have defined your own DSL
>>>>         (domain specific language) for controlling an industrial
>>>>         washing machine!
>>>>
>>>>
>>>>             *From:* Owen Brand <owenbrand@opry99er. com>
>>>>             *To:* "TI994A@yahoogroups .com" <TI994A@yahoogroups. com>
>>>>             *Sent:* Thu, 8 April, 2010 22:15:28
>>>>             *Subject:* Re: [TI994A] TurboForth preparation
>>>>
>>>>
>>>>
>>>>             So if I'm reading this right, a word can be defined as a
>>>>             series of other words as well???  This would make things
>>>>             like screen draws lightning fast and easy to
>>>>             implement!!!  Also, entire sequences of code that
>>>>             determine complex functions can be pieced together and
>>>>             defined as a word?!?  Holy crap!!  I hope I'm reading
>>>>             this correctly!
>>>>
>>>>             Owen Brand
>>>>             <http://Opry99er.com> <http://Opry99er.com>
>>>>             <http://Opry99er.com> <http://Opry99er.com>Opry99er.com
>>>>             <http://Opry99er.com>
>>>>
>>>>             On Apr 8, 2010, at 4:33 PM, mark wills <markrobertwills@
>>>>             yahoo.co. uk <mailto:[email-masked]>> wrote:
>>>>
>>>>>              
>>>>>
>>>>>             Yes. Forth really does rock on machines like ours, and
>>>>>             is also very suitable for embedded devices. And if you
>>>>>             ever get far enough into it to learn how the compiler
>>>>>             itself works, your brain will explode. It is SO head
>>>>>             smackingly simple, it's beautiful.
>>>>>
>>>>>             Pretty much all the examples (as far as I know) in the
>>>>>             book I mentioned will run in TurboForth.
>>>>>
>>>>>             >This concept seems to be a streamlined greased
>>>>>             lightning version of user-defined SUBS in XB
>>>>>
>>>>>             One of the central practices in Forth is that of
>>>>>             Factoring. Factoring is simply breaking your routines
>>>>>             to smaller and smaller words, so instead of one word
>>>>>             that is 10's of lines long (as you might in C) you tend
>>>>>             to break up the routine into smaller chunks, each one a
>>>>>             word. This helps with the issue of 'stackrobatics' -
>>>>>             when you are having to juggle lots of things on the
>>>>>             stack. You also have variables and constants.
>>>>>             TurboForth also has VALUEs, which are like VARIABLEs
>>>>>             but have a friendlier syntax.
>>>>>
>>>>>             Forth seems difficult at first (don't get me wrong,
>>>>>             it's harder than, say XB, but easier than assembly)
>>>>>             simply because you have to manage the stack, which
>>>>>             doesn't even exist in other languages.
>>>>>
>>>>>             I constantly kick myself that I wrote Forth off as crap
>>>>>             for so many years. I was so arrogant. Just because I
>>>>>             couldn't understand it at the time.
>>>>>
>>>>>
>>>>>
>>>>>                 *From:* Owen Brand <owenbrand@opry99er. com>
>>>>>                 *To:* "TI994A@yahoogroups .com"
>>>>>                 <TI994A@yahoogroups. com>
>>>>>                 *Sent:* Thu, 8 April, 2010 21:16:49
>>>>>                 *Subject:* Re: [TI994A] TurboForth preparation
>>>>>
>>>>>
>>>>>
>>>>>                 Wow, I'm just a few pages into the first chapter
>>>>>                 and the concept is so simple it's beyond
>>>>>                 brilliant!!!  This concept seems to be a
>>>>>                 streamlined greased lightning version of
>>>>>                 user-defined SUBS in XB, only much more efficient
>>>>>                 and straightforward!  It also seems to be the
>>>>>                 perfect language choice for the /4a, as it has
>>>>>                 absolute ties to ASCII and would seem to sit
>>>>>                 cleanly on top of the machine language.  Very good
>>>>>                 suggestion on this book!!
>>>>>
>>>>>                 Owen Brand
>>>>>                 <http://Opry99er.com> <http://Opry99er.com>
>>>>>                 <http://Opry99er.com> <http://Opry99er.com>
>>>>>                 <http://Opry99er.com>Opry99er.com <http://Opry99er.com>
>>>>>
>>>>>                 On Apr 8, 2010, at 3:40 PM, mark wills
>>>>>                 <markrobertwills@ yahoo.co. uk <mailto:mark
>>>>>                 [email-masked]>> wrote:
>>>>>
>>>>>>                  
>>>>>>
>>>>>>                 <http://tinyurl.com/ydqywa4> <http://tinyurl>
>>>>>>                 <http://tinyurl> <http://tinyurl> <http://tinyurl>
>>>>>>                 <http://tinyurl>http://tinyurl. com/ydqywa4
>>>>>>
>>>>>>                 This book is AWESOME. You will totally "get" Forth
>>>>>>                 by the time you finish it. It's an old book, but
>>>>>>                 don't let that put you off. My (1st edition -
>>>>>>                 woohoo!) copy goes everywhere with me, even the
>>>>>>                 toilet!
>>>>>>
>>>>>>                 M
>>>>>>
>>>>>>                 > From: Owen Brand <owenbrand@opry99er. com
>>>>>>                 <mailto:owenbrand%40opry99er.com>>
>>>>>>                 > To: "TI994A@yahoogroups. com
>>>>>>                 <mailto:TI994A%40yahoogroups.com>"
>>>>>>                 <TI994A@yahoogroups. com
>>>>>>                 <mailto:TI994A%40yahoogroups.com>>
>>>>>>                 > In getting prepared for the highly anticipated
>>>>>>                 TurboForth release, I
>>>>>>                 >
>>>>>>                 <http://Opry99er.com> <http://Opry99er.com>
>>>>>>                 <http://Opry99er.com> <http://Opry99er.com>
>>>>>>                 <http://Opry99er.com>
>>>>>>                 <http://Opry99er.com>Opry99er.com
>>>>>>                 <http://Opry99er.com>
>>>>>>
>>>>>>                 > > <http://groups.yahoo.com/group/TI994A/>
>>>>>>                 <http://groups> <http://groups> <http://groups>
>>>>>>                 <http://groups> <http://groups>http://groups.
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/>yahoo.com/ <http://yahoo.com/>
>>>>>>                 group/TI994A/
>>>>>>
>>>>>>                 > href="
>>>>>>                 <http://groups.yahoo.com/group/TI994A/join>
>>>>>>                 <http://groups> <http://groups> <http://groups>
>>>>>>                 <http://groups> <http://groups>http://groups.
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/>yahoo.com/ <http://yahoo.com/>
>>>>>>                 group/TI994A/ join" target=_blank
>>>>>>                 > > <http://groups.yahoo.com/group/TI994A/join>
>>>>>>                 <http://groups> <http://groups> <http://groups>
>>>>>>                 <http://groups> <http://groups>http://groups.
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/>yahoo.com/ <http://yahoo.com/>
>>>>>>                 group/TI994A/ join
>>>>>>                 (Yahoo! ID
>>>>>>                 > required)
>>>>>>
>>>>>>                 > href="mailto:TI994A-digest@ yahoogroups. com
>>>>>>                 <mailto:TI994A-digest%40yahoogroups.com>">TI994A-digest@
>>>>>>                 yahoogroups. com
>>>>>>                 <mailto:TI994A-digest%40yahoogroups.com>
>>>>>>                 >
>>>>>>
>>>>>>                 > href="mailto:TI994A-fullfeatured @yahoogroups.
>>>>>>                 com
>>>>>>                 <mailto:TI994A-fullfeatured%40yahoogroups.com>">TI994A-fullfeatured
>>>>>>                 @yahoogroups. com
>>>>>>                 <mailto:TI994A-fullfeatured%40yahoogroups.com>
>>>>>>
>>>>>>                 > ymailto="mailto:TI994A-unsubscribe@ yahoogroups.
>>>>>>                 com <mailto:TI994A-unsubscribe%40yahoogroups.com>"
>>>>>>                 > href="mailto:TI994A-unsubscribe@ yahoogroups.
>>>>>>                 com
>>>>>>                 <mailto:TI994A-unsubscribe%40yahoogroups.com>">TI994A-unsubscribe@
>>>>>>                 yahoogroups. com
>>>>>>                 <mailto:TI994A-unsubscribe%40yahoogroups.com>
>>>>>>
>>>>>>                 > href=" <http://docs.yahoo.com/info/terms/>
>>>>>>                 <http://docs> <http://docs> <http://docs>
>>>>>>                 <http://docs> <http://docs>http://docs.
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/>yahoo.com/ <http://yahoo.com/>
>>>>>>                 info/terms/" target=_blank
>>>>>>                 > > <http://docs.yahoo.com/info/terms/>
>>>>>>                 <http://docs> <http://docs> <http://docs>
>>>>>>                 <http://docs> <http://docs>http://docs.
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/> <http://yahoo.com/>
>>>>>>                 <http://yahoo.com/>yahoo.com/ <http://yahoo.com/>
>>>>>>                 info/terms/
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>

---

From: Owen Brand <[email-masked]>
Date: Fri, 9 Apr 2010 23:48:14 -0400

Yea man-- I'm on board.  I am excited excited.  The syntax of my Forth  
is a bit different from the book's.  I am hoping to get a modified  
copy of TI Forth which will have stroke for stroke syntax with the  
book.  Or I'll DL a FIG emulator.

Owen Brand
Opry99er.com

On Apr 9, 2010, at 11:30 PM, fdos <[email-masked]> wrote:

>> the
>>> get
>>>>>>                <http://Opry99er.com>Opry99er.com <http://Opry99er.com 
>>>>>> >
>>>>>>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>

---

From: fdos <[email-masked]>
Date: Fri, 09 Apr 2010 21:13:59 -0700

Owen,

There is a fig Forth module (RPK) in the MESS Ti emulator that I 
extracted the binary from and sent to Mark Wills for Classic99 use. 
Maybe he can send that to you or if I find I still have it in that form 
I'll send it your way.

The TI FORTH manual includes the compatibility words for use with 
Starting Forth.

Bill S

Owen Brand wrote:
> On Apr 9, 2010, at 11:30 PM, fdos <[email-masked] 
> <mailto:fdosbrs%40frontiernet.net>> wrote:
> 
>  > Owen,
>  >
>  >> <http://Opry99er.com <http://Opry99er.com>>Opry99er.com 
> <http://Opry99er.com <http://Opry99er.com>>
>  >>
>  >> <mailto:[email-masked] 
> <mailto:markrobertwills%40yahoo.co.uk>>[email-masked] 
> <mailto:markrobertwills%40yahoo.co.uk>
>  >> <mailto:[email-masked] 
> <mailto:markrobertwills%40yahoo.co.uk>>> wrote:
>  >>
>  >>>
>  >>>
>  >>> *From:* Owen Brand <[email-masked] 
>  >>> *To:* "[email-masked] <mailto:TI994A%40yahoogroups.com>" 
> <[email-masked] <mailto:TI994A%40yahoogroups.com>>
>  >>> <http://Opry99er.com <http://Opry99er.com>> <http://Opry99er.com 
> <http://Opry99er.com>>Opry99er.com
>  >>> <http://Opry99er.com <http://Opry99er.com>>
>  >>>
>  >>> <[email-masked] <mailto:markrobertwills%40yahoo.co.uk>
>  >>> <mailto:[email-masked] 
> <mailto:markrobertwills%40yahoo.co.uk>>>
>  >>> wrote:
>  >>>
>  >>>>
>  >>>>
>  >>>> <http://Opry99er.com <http://Opry99er.com>> <http://Opry99er.com 
> <http://Opry99er.com>>
>  >>>> <http://Opry99er.com <http://Opry99er.com>>Opry99er.com <ht 
> tp://Opry99er.com <tp://Opry99er.com>>
>  >>>>
>  >>>>
>  >>>> yahoo.co. uk <mailto:[email-masked] 
> <mailto:markrobertwills%40yahoo.co.uk>>> wrote:
>  >>>>
>  >>>>>
>  >>>>>
>  >>>>> <http://Opry99er.com <http://Opry99er.com>> <http://Opry99er.com 
> <http://Opry99er.com>>
>  >>>>> <http://Opry99er.com <http://Opry99er.com>> <http://Opry99er.com 
> <http://Opry99er.com>>Opry99er.com
>  >>>>> <http://Opry99er.com <http://Opry99er.com>>
>  >>>>>
>  >>>>> yahoo.co. uk <mailto:[email-masked] 
> <mailto:markrobertwills%40yahoo.co.uk>>>
>  >>>>> wrote:
>  >>>>>
>  >>>>>>
>  >>>>>>
>  >>>>>> <http://Opry99er.com <http://Opry99er.com>> <http://Opry99er.com 
> <http://Opry99er.com>>
>  >>>>>> <http://Opry99er.com <http://Opry99er.com>> <http://Opry99er.com 
> <http://Opry99er.com>>
>  >>>>>> <http://Opry99er.com <http://Opry99er.com>>Opry99er.com 
> <http://Opry99er.com <http://Opry99er.com>
>  >>>>>> >
>  >>>>>>
>  >>>>>> [email-masked] <mailto:robertwills%40yahoo.co.uk>>> wrote:
>  >>>>>>
>  >>>>>>>
>  >>>>>>>
>  >>>>>>> <http://tinyurl.com/ydqywa4 <http://tinyurl.com/ydqywa4>> 
> <http://tinyurl>
>  >>>>>>> <http://Opry99er.com <http://Opry99er.com>> 
> <http://Opry99er.com <http://Opry99er.com>>
>  >>>>>>> <http://Opry99er.com <http://Opry99er.com>> 
> <http://Opry99er.com <http://Opry99er.com>>
>  >>>>>>> <http://Opry99er.com <http://Opry99er.com>>
>  >>>>>>> <http://Opry99er.com <http://Opry99er.com>>Opry99er.com
>  >>>>>>> <http://Opry99er.com <http://Opry99er.com>>
>  >>>>>>>
>  >>>>>>>>> <http://groups.yahoo.com/group/TI994A/ 
> <http://groups.yahoo.com/group/TI994A/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>>yahoo.com/ 
> <http://yahoo.com/ <http://yahoo.com/>>
>  >>>>>>> group/TI994A/
>  >>>>>>>
>  >>>>>>>> href="
>  >>>>>>> <http://groups.yahoo.com/group/TI994A/join 
> <http://groups.yahoo.com/group/TI994A/join>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>>yahoo.com/ 
> <http://yahoo.com/ <http://yahoo.com/>>
>  >>>>>>>>> <http://groups.yahoo.com/group/TI994A/join 
> <http://groups.yahoo.com/group/TI994A/join>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>>yahoo.com/ 
> <http://yahoo.com/ <http://yahoo.com/>>
>  >>>>>>> group/TI994A/ join
>  >>>>>>> (Yahoo! ID
>  >>>>>>>> required)
>  >>>>>>>
>  >>>>>>>> href=" <http://docs.yahoo.com/info/terms/ 
> <http://docs.yahoo.com/info/terms/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>>yahoo.com/ 
> <http://yahoo.com/ <http://yahoo.com/>>
>  >>>>>>>>> <http://docs.yahoo.com/info/terms/ 
> <http://docs.yahoo.com/info/terms/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>> <http://yahoo.com/ 
> <http://yahoo.com/>>
>  >>>>>>> <http://yahoo.com/ <http://yahoo.com/>>yahoo.com/ 
> <http://yahoo.com/ <http://yahoo.com/>>
>  >>>>>>> info/terms/
>  >>>>>>>
>  >>>>>>
>  >>>>>>
>  >>>>>
>  >>>>>
>  >>>>
>  >>>>
>  >>>
>  >>>
>  >>
>  >
>  >

---

From: mark wills <[email-masked]>
Date: Sat, 10 Apr 2010 07:49:32 +0000 (GMT)

Which book are you reading?

>Sent: Sat, 10 April, 2010 1:10:21
>Wow-- Chapter 2 of the book was alot more intense than chapter 1.  It seems to be a bit confusing on some terminology... "Top" "First" on the stack... It talks about the "top" of the stack, then it talks about "first number".  I lose track when the terms aren't consistent.  It's description of ROT is quite confusing.  The description, the numeric "contents of stack" table and the graphic illustration are all conflicting each other...  I'm going to move on, but for the record, that section really sucked!  :)    
>
>Owen Brand 
>Opry99er.com
>
>On Apr 9, 2010, at 11:23 AM, mark wills <[email-masked]> wrote:
>
>
>  
>>It's a 40 column editor, it windows like FWEB/TI-Writer. If I can get the code to run in TI994W I will add 80 column support too.
>>
>>Mark
>>
>>
>>>
>>>Hey man--- will you have a built-in, "comment-editable" glossary in TurboForth?  Also, is it a 32 column editor?  Sorry for all the questions--- just excited.  :)
>>>
>>>Owen Brand 
>>>Opry99er.com
>>>
>>>On Apr 9, 2010, at 5:33 AM, mark wills <markrobertwills@ yahoo.co. uk> wrote:
>>>
>>>
>>>  
>>>>A good way to practice Forth is with TI-Forth - it's free and it's TI ;-)
>>>>
>>>>Yes, Forth uses a stack, it is the absolute central core running through Forth.
>>>>
>>>>You are correct that postfix notation is a symptom, but it's not unique to Forth. Many scientific calculators use RPN (reverse polish notation, to give it its correct name).
>>>>
>>>>+ does it's work. It is programmed to REMOVE the TOP TWO numbers from the stack, add them, put the RESULT on the stack (6)
>>>>
>>>>Then + runs again, removing the two 6's and placing a single 12 on the stack
>>>>
>>>>Here is a VERY important distinction between Forth and other languages: In XB, for example, things like + - * etc are OPERATORS. They don't work like statements or functions. They are kind of special. It's different in Forth. + is JUST ANOTHER WORD in Forth. It is a little program in it's own right, that removes two values from the top of the stack, adds them, and puts the result on the stack.
>>>>
>>>>Welcome to Forth. You may need to wear a helmet to hold your brains in. My head exploded when I started to 'get it'.
>>>>
>>>>Mark
>>>>
>>>>
>>>>>
>>>>>Okay Mark-- I may be getting ahead of myself here, but in Forth, there are a couple unique characteristics that I am reading about in detail right now.  
>>>>>
>>>>>
>>>>>1) Postfix notation 
>>>>>2) LIFO stack operation
>>>>>
>>>>>
>>>>>Both of these are counter-intuitive to my linear brain... But I'm practicing them.  :) The postfix notation really just seems to be a "symptom" (for lack of a better "word") of the Last In First Out methodology.  It seems a bit strange to me, but the more I type and practice, the more sense it makes.  Your documentation will, I assume, discuss in detail the way this concept works with TurboForth?  I will be DLing a Forth terminal emulator in the morning so I can get started... :) Fun fun fun!
>>>>>
>>>>>Owen Brand 
>>>>>Opry99er.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>On Apr 8, 2010, at 6:28 PM, mark wills <markrobertwills@ yahoo.co. uk> wrote:
>>>>>
>>>>>
>>>>>  
>>>>>>That's exactly right. Not only is it possible, it is positively encouraged.
>>>>>>
>>>>>>And because Forth is interactive, you can test each little word individually at the keyboard, immediately. None of this write code/save/assemble/ load object code/try it rubbish!
>>>>>>
>>>>>>That's the high level definition for a washing machine. Now you define the other words:
>>>>>>
>>>>>>: WASH 20 0 DO CLOCKWISE MOTOR-ON 5 MINUTES WAIT MOTOR-OFF ANTI-CLOCKWISE MOTOR-ON 5 MINUTES WAIT ;
>>>>>>You get the idea... Then you go and define NOT-FULL FAUCET-ON etc... Your application is built (or rather 'grown') from lots of little words. You test each word as you go and move on when you are happy with it. Notice that RINSE uses FILL to fill the washer after draining it.
>>>>>>
>>>>>>When applications are built like this, they are said to be "highly factored". You will notice that the program (at least at this high level) almost reads like english. It doesn't even look like Forth! You have defined your own DSL (domain specific language) for controlling an industrial washing machine!
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>So if I'm reading this right, a word can be defined as a series of other words as well???  This would make things like screen draws lightning fast and easy to implement!!!  Also, entire sequences of code that determine complex functions can be pieced together and defined as a word?!?  Holy crap!!  I hope I'm reading this correctly!
>>>>>>>
>>>>>>>Owen Brand 
>>>>>>>Opry99er.com
>>>>>>>
>>>>>>>On Apr 8, 2010, at 4:33 PM, mark wills <markrobertwills@ yahoo.co. uk> wrote:
>>>>>>>
>>>>>>>
>>>>>>>  
>>>>>>>>Yes. Forth really does rock on machines like ours, and is also very suitable for embedded devices. And if you ever get far enough into it to learn how the compiler itself works, your brain will explode. It is SO head smackingly simple, it's beautiful.
>>>>>>>>
>>>>>>>>Pretty much all the examples (as far as I know) in the book I mentioned will run in TurboForth.
>>>>>>>>
>>>>>>>>>This concept seems to be a streamlined greased lightning version of user-defined SUBS in XB
>>>>>>>>
>>>>>>>>One of the central practices in Forth is that of Factoring. Factoring is simply breaking your routines to smaller and smaller words, so instead of one word that is 10's of lines long (as you might in C) you tend to break up the routine into smaller chunks, each one a word. This helps with the issue of 'stackrobatics' - when you are having to juggle lots of things on the stack. You also have variables and constants. TurboForth also has VALUEs, which are like VARIABLEs but have a friendlier syntax.
>>>>>>>>
>>>>>>>>Forth seems difficult at first (don't get me wrong, it's harder than, say XB, but easier than assembly) simply because you have to manage the stack, which doesn't even exist in other languages.
>>>>>>>>
>>>>>>>>I constantly kick myself that I wrote Forth off as crap for so many years. I was so arrogant. Just because I couldn't understand it at the time.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>Wow, I'm just a few pages into the first chapter and the concept is so simple it's beyond brilliant!!!  This concept seems to be a streamlined greased lightning version of user-defined SUBS in XB, only much more efficient and straightforward!  It also seems to be the perfect language choice for the /4a, as it has absolute ties to ASCII and would seem to sit cleanly on top of the machine language.  Very good suggestion on this book!!
>>>>>>>>>
>>>>>>>>>Owen Brand 
>>>>>>>>>Opry99er.com
>>>>>>>>>
>>>>>>>>>On Apr 8, 2010, at 3:40 PM, mark wills <markrobertwills@ yahoo.co. uk> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>>This book is AWESOME. You will totally "get" Forth by the time you finish it. It's an old book, but don't let that put you off. My (1st edition - woohoo!) copy goes everywhere with me, even the toilet!
>>>>>>>>>>
>>>>>>>>>>M
>>>>>>>>>>
>>>>>>>>>>> In getting prepared for the highly anticipated TurboForth release, I 
>>>>>>>>>>> 
>>>>>>>>>>> href="mailto:TI994A-digest@ yahoogroups. com">TI994A-digest@ yahoogroups. com 
>>>>>>>>>>> 
>>>>>>>>>>
>>>>>>>>>>> href="mailto:TI994A-fullfeatured @yahoogroups. com">TI994A-fullfeatured @yahoogroups. com
>>>>>>>>>>
>>>>>>>>>>> href="mailto:TI994A-unsubscribe@ yahoogroups. com">TI994A-unsubscribe@ yahoogroups. com
>>>>>>>>>>

---

From: Owen Brand <[email-masked]>
Date: Sat, 10 Apr 2010 07:31:22 -0400

Hey Willsy--- it's Starting Forth by Brodie.  The majority of what I  
am reading is great, but as Bob stated, this is a later version of the  
book which actually talks about modern OSes and "double clicking"  
desktop icons.... I believe it has been revised.  It's great though  
because the problems at the end of each chapter have links to the  
answers--- it's quite interactive actually.  :). BUT.... Some of the  
examples are a bit funky and confusing... I spent some time and went  
through these points of question and gathered the proper info.... In  
this case, there was a text explanation, a table, and a cartoon. One  
of them was contradictory to the other two, and after reading and  
breaking it down, I isolated the inconsistency and I'm on the right  
track now.  :)

Owen Brand
Opry99er.com

On Apr 10, 2010, at 3:49 AM, mark wills <[email-masked]>  
wrote:

> Wow-- Chapter 2 of the book was alot more intense than chapter 1.   
> It seems to be a bit confusing on some terminology... "Top" "First"  
> on the stack... It talks about the "top" of the stack, then it talks  
> about "first number".  I lose track when the terms aren't  
> consistent.  It's description of ROT is quite confusing.  The  
> description, the numeric "contents of stack" table and the graphic  
> illustration are all conflicting each other...  I'm going to move  
> on, but for the record, that section really sucked!  :)
>
> Owen Brand
> Opry99er.com
>
>>> practicing them.  :) The postfix notation really just seems to be  
>>> a "symptom" (for lack of a better "word") of the Last In First Out  
>>> methodology.  It seems a bit strange to me, but the more I type  
>>> and practice, the more sense it makes.  Your documentation will, I  
>>>> individually at the keyboard, immediately. None of this write  
>>>> code/save/assemble/ load object code/try it rubbish!
>>>>
>>>> "highly factored". You will notice that the program (at least at  
>>>> this high level) almost reads like english. It doesn't even look  
>>>> like Forth! You have defined your own DSL (domain specific  
>>>> language) for controlling an industrial washing machine!
>>>>
>>>> So if I'm reading this right, a word can be defined as a series  
>>>> of other words as well???  This would make things like screen  
>>>> draws lightning fast and easy to implement!!!  Also, entire  
>>>> sequences of code that determine complex functions can be pieced  
>>>> together and defined as a word?!?  Holy crap!!  I hope I'm  
>>>> reading this correctly!
>>>>
>>>> Owen Brand
>>>> Opry99er.com
>>>>
>>>>> enough into it to learn how the compiler itself works, your  
>>>>> brain will explode. It is SO head smackingly simple, it's  
>>>>> beautiful.
>>>>>
>>>>> Factoring is simply breaking your routines to smaller and  
>>>>> smaller words, so instead of one word that is 10's of lines long  
>>>>> (as you might in C) you tend to break up the routine into  
>>>>> smaller chunks, each one a word. This helps with the issue of  
>>>>> 'stackrobatics' - when you are having to juggle lots of things  
>>>>> on the stack. You also have variables and constants. TurboForth  
>>>>> also has VALUEs, which are like VARIABLEs but have a friendlier  
>>>>> syntax.
>>>>>
>>>>> many years. I was so arrogant. Just because I couldn't  
>>>>> understand it at the time.
>>>>>
>>>>>
>>>>>
>>>>> is so simple it's beyond brilliant!!!  This concept seems to be  
>>>>> a streamlined greased lightning version of user-defined SUBS in  
>>>>> XB, only much more efficient and straightforward!  It also seems  
>>>>> to be the perfect language choice for the /4a, as it has  
>>>>> absolute ties to ASCII and would seem to sit cleanly on top of  
>>>>> the machine language.  Very good suggestion on this book!!
>>>>>
>>>>> Owen Brand
>>>>> Opry99er.com
>>>>>
>>>>>> you finish it. It's an old book, but don't let that put you  
>>>>>> off. My (1st edition - woohoo!) copy goes everywhere with me,  
>>>>>> even the toilet!
>>>>>>
>>>>>> M
>>>>>>

---

From: fdos <[email-masked]>
Date: Sat, 10 Apr 2010 07:46:11 -0700

Owen,

We're trying to determine which version of Starting Forth you're using; 
the first edition (mostly related to Fig Forth) or the second edition 
(more closely related to Forth83).

Next, if you're at a Forth terminal typing in the examples which Forth 
is it (Fig Forth, Forth79, Forth83 or ANS Forth)?

Once we know the answers to the above questions we will be better able 
to help you solve the difficulties you're having.

Bill S

Owen Brand wrote:
>  
> 
> Hey Willsy--- it's Starting Forth by Brodie.  The majority of what I am 
> reading is great, but as Bob stated, this is a later version of the book 
> which actually talks about modern OSes and "double clicking" desktop 
> icons.... I believe it has been revised.  It's great though because the 
> problems at the end of each chapter have links to the answers--- it's 
> quite interactive actually.  :). BUT.... Some of the examples are a bit 
> funky and confusing... I spent some time and went through these points 
> of question and gathered the proper info.... In this case, there was a 
> text explanation, a table, and a cartoon. One of them was contradictory 
> to the other two, and after reading and breaking it down, I isolated the 
> inconsistency and I'm on the right track now.  :) 
> 
> Owen Brand
> Opry99er.com <http://Opry99er.com>
> 
> On Apr 10, 2010, at 3:49 AM, mark wills <[email-masked] 
> <mailto:[email-masked]. uk>> wrote:
> 
>>  
>>
>>     *Sent:* Sat, 10 April, 2010 1:10:21
>>      It seems to be a bit confusing on some terminology... "Top"
>>     "First" on the stack... It talks about the "top" of the stack,
>>     then it talks about "first number".  I lose track when the terms
>>     aren't consistent.  It's description of ROT is quite confusing.
>>      The description, the numeric "contents of stack" table and the
>>     graphic illustration are all conflicting each other...  I'm going
>>     to move on, but for the record, that section really sucked!  :)    
>>
>>     Owen Brand
>>     <http://opry99er.com/> <http://opry99er.com/>Opry99er.com
>>     <http://Opry99er.com>
>>
>>>         Hey man--- will you have a built-in, "comment-editable"
>>>         glossary in TurboForth?  Also, is it a 32 column editor?
>>>          Sorry for all the questions--- just excited.  :)
>>>
>>>         Owen Brand
>>>         <http://opry99er.com/> <http://opry99er.com/>
>>>         <http://opry99er.com/>Opry99er.com <http://Opry99er.com>
>>>
>>>         On Apr 9, 2010, at 5:33 AM, mark wills <markrobertwills@
>>>>         You are correct that postfix notation is a symptom, but it's
>>>>         not unique to Forth. Many scientific calculators use RPN
>>>>         (reverse polish notation, to give it its correct name).
>>>>
>>>>         + does it's work. It is programmed to REMOVE the TOP TWO
>>>>         numbers from the stack, add them, put the RESULT on the
>>>>         stack (6)
>>>>
>>>>         OPERATORS. They don't work like statements or functions.
>>>>         They are kind of special. It's different in Forth. + is JUST
>>>>         ANOTHER WORD in Forth. It is a little program in it's own
>>>>         right, that removes two values from the top of the stack,
>>>>         adds them, and puts the result on the stack.
>>>>
>>>>             Okay Mark-- I may be getting ahead of myself here, but
>>>>             in Forth, there are a couple unique characteristics that
>>>>             I am reading about in detail right now.  
>>>>
>>>>             1) Postfix notation 
>>>>             2) LIFO stack operation
>>>>
>>>>             Both of these are counter-intuitive to my linear
>>>>             brain... But I'm practicing them.  :) The postfix
>>>>             notation really just seems to be a "symptom" (for lack
>>>>             of a better "word") of the Last In First Out
>>>>             methodology.  It seems a bit strange to me, but the more
>>>>             I type and practice, the more sense it makes.  Your
>>>>             documentation will, I assume, discuss in detail the way
>>>>             this concept works with TurboForth?  I will be DLing a
>>>>             Forth terminal emulator in the morning so I can get
>>>>             started... :) Fun fun fun!
>>>>
>>>>             Owen Brand
>>>>             <http://opry99er.com/> <http://opry99er.com/>
>>>>             <http://opry99er.com/>
>>>>             <http://opry99er.com/>Opry99er.com <http://Opry99er.com>
>>>>
>>>>
>>>>>             And because Forth is interactive, you can test each
>>>>>             little word individually at the keyboard, immediately.
>>>>>             None of this write code/save/assemble/ load object
>>>>>             code/try it rubbish!
>>>>>
>>>>>             : WASH 20 0 DO CLOCKWISE MOTOR-ON 5 MINUTES WAIT
>>>>>             MOTOR-OFF ANTI-CLOCKWISE MOTOR-ON 5 MINUTES WAIT ;
>>>>>             'grown') from lots of little words. You test each word
>>>>>             as you go and move on when you are happy with it.
>>>>>             Notice that RINSE uses FILL to fill the washer after
>>>>>             draining it.
>>>>>
>>>>>             When applications are built like this, they are said to
>>>>>             be "highly factored". You will notice that the program
>>>>>             (at least at this high level) almost reads like
>>>>>             english. It doesn't even look like Forth! You have
>>>>>             defined your own DSL (domain specific language) for
>>>>>                 So if I'm reading this right, a word can be defined
>>>>>                 as a series of other words as well???  This would
>>>>>                 make things like screen draws lightning fast and
>>>>>                 easy to implement!!!  Also, entire sequences of
>>>>>                 code that determine complex functions can be pieced
>>>>>                 together and defined as a word?!?  Holy crap!!  I
>>>>>                 hope I'm reading this correctly!
>>>>>
>>>>>                 Owen Brand
>>>>>                 <http://opry99er.com/> <http://opry99er.com/>
>>>>>                 <http://opry99er.com/> <http://opry99er.com/>
>>>>>                 <http://opry99er.com/>Opry99er.com
>>>>>                 <http://Opry99er.com>
>>>>>
>>>>>                 On Apr 8, 2010, at 4:33 PM, mark wills
>>>>>                 <markrobertwills@ yahoo.co. uk
>>>>>>                 Yes. Forth really does rock on machines like ours,
>>>>>>                 and is also very suitable for embedded devices.
>>>>>>                 And if you ever get far enough into it to learn
>>>>>>                 how the compiler itself works, your brain will
>>>>>>                 explode. It is SO head smackingly simple, it's
>>>>>>                 beautiful.
>>>>>>
>>>>>>                 Pretty much all the examples (as far as I know) in
>>>>>>                 the book I mentioned will run in TurboForth.
>>>>>>
>>>>>>                 Factoring. Factoring is simply breaking your
>>>>>>                 routines to smaller and smaller words, so instead
>>>>>>                 of one word that is 10's of lines long (as you
>>>>>>                 might in C) you tend to break up the routine into
>>>>>>                 smaller chunks, each one a word. This helps with
>>>>>>                 the issue of 'stackrobatics' - when you are having
>>>>>>                 to juggle lots of things on the stack. You also
>>>>>>                 have variables and constants. TurboForth also has
>>>>>>                 VALUEs, which are like VARIABLEs but have a
>>>>>>                 friendlier syntax.
>>>>>>
>>>>>>                 Forth seems difficult at first (don't get me
>>>>>>                 wrong, it's harder than, say XB, but easier than
>>>>>>                 assembly) simply because you have to manage the
>>>>>>                 stack, which doesn't even exist in other languages.
>>>>>>
>>>>>>                 I constantly kick myself that I wrote Forth off as
>>>>>>                 crap for so many years. I was so arrogant. Just
>>>>>>                 because I couldn't understand it at the time.
>>>>>>
>>>>>>
>>>>>>
>>>>>>                     Wow, I'm just a few pages into the first
>>>>>>                     chapter and the concept is so simple it's
>>>>>>                     beyond brilliant!!!  This concept seems to be
>>>>>>                     a streamlined greased lightning version of
>>>>>>                     user-defined SUBS in XB, only much more
>>>>>>                     efficient and straightforward!  It also seems
>>>>>>                     to be the perfect language choice for the /4a,
>>>>>>                     as it has absolute ties to ASCII and would
>>>>>>                     seem to sit cleanly on top of the machine
>>>>>>                     <http://opry99er.com/> <http://opry99er.com/>
>>>>>>                     <http://opry99er.com/> <http://opry99er.com/>
>>>>>>                     <http://opry99er.com/>
>>>>>>                     <http://opry99er.com/>Opry99er.com
>>>>>>                     <http://Opry99er.com>
>>>>>>
>>>>>>                     <markrobertwills@ yahoo.co. uk
>>>>>>>                     <http://tinyurl.com/ydqywa4>
>>>>>>>                     <http://tinyurl/> <http://tinyurl/>
>>>>>>>                     <http://tinyurl/> <http://tinyurl/>
>>>>>>>                     <http://tinyurl/>
>>>>>>>                     <http://tinyurl/>http://tinyurl. com/ydqywa4
>>>>>>>
>>>>>>>                     This book is AWESOME. You will totally "get"
>>>>>>>                     Forth by the time you finish it. It's an old
>>>>>>>                     book, but don't let that put you off. My (1st
>>>>>>>                     edition - woohoo!) copy goes everywhere with
>>>>>>>                     me, even the toilet!
>>>>>>>
>>>>>>>                     M
>>>>>>>
>>>>>>>                     <mailto:owenbrand%40opry99er.com>>*> To:
>>>>>>>                     "TI994A@yahoogroups. com
>>>>>>>                     <http://opry99er.com/> <http://opry99er.com/>
>>>>>>>                     <http://opry99er.com/> <http://opry99er.com/>
>>>>>>>                     <http://opry99er.com/> <http://opry99er.com/>
>>>>>>>                     <http://opry99er.com/>Opry99er.com
>>>>>>>                     <http://Opry99er.com>
>>>>>>>
>>>>>>>                     <http://groups/> <http://groups/>
>>>>>>>                     <http://groups/> <http://groups/>
>>>>>>>                     <http://groups/>
>>>>>>>                     <http://groups/>http://groups.
>>>>>>>                     <http://yahoo.com/>
>>>>>>>                     <http://yahoo.com/>yahoo.com/
>>>>>>>                     <http://yahoo.com/> group/TI994A/
>>>>>>>
>>>>>>>                     > href="
>>>>>>>                     <http://groups/> <http://groups/>
>>>>>>>                     <http://groups/> <http://groups/>
>>>>>>>                     <http://groups/>
>>>>>>>                     <http://groups/>http://groups.
>>>>>>>                     <http://yahoo.com/>
>>>>>>>                     <http://yahoo.com/>yahoo.com/
>>>>>>>                     <http://yahoo.com/> group/TI994A/ join"
>>>>>>>                     target=_blank
>>>>>>>                     > >
>>>>>>>                     <http://groups/> <http://groups/>
>>>>>>>                     <http://groups/> <http://groups/>
>>>>>>>                     <http://groups/>
>>>>>>>                     <http://groups/>http://groups.
>>>>>>>                     <http://yahoo.com/> <http://yahoo.co
>>>>>>>                     m/>yahoo.com/ <http://yahoo.com/>
>>>>>>>                     group/TI994A/ join
>>>>>>>                     (Yahoo! ID
>>>>>>>                     > required)
>>>>>>>
>>>>>>>                     > href="mailto:TI994A-fullfeatured
>>>>>>>                     @yahoogroups. com
>>>>>>>                     > ymailto="mailto:TI994A-unsubscribe@
>>>>>>>                     yahoogroups. com
>>>>>>>                     <mailto:TI994A-unsubscribe%40yahoogroups.com>"
>>>>>>>                     > href="mailto:TI994A-unsubscribe@
>>>>>>>                     yahoogroups. com
>>>>>>>                     <http://docs/> <http://docs/> <http://docs/>
>>>>>>>                     <http://docs/> <http://docs/>
>>>>>>>                     <http://docs/>http://docs.
>>>>>>>                     <http://yahoo.com/>
>>>>>>>                     <http://yahoo.com/>yahoo.com/
>>>>>>>                     <http://yahoo.com/> info/terms/" target=_blank
>>>>>>>                     <http://docs/> <http://docs/> <http://docs/>
>>>>>>>                     <http://docs/> <http://docs/>
>>>>>>>                     <http://docs/>http://docs.
>>>>>>>                     <http://yahoo.com/>
>>>>>>>                     <http://yahoo.com/>yahoo.com/
>>>>>>>                     <http://yahoo.com/> info/terms/
>>>>>>>                     *
>>>>>>>
>>>>>>                     *
>>>>>>
>>>>>>                     *
>>>>>>
>>>>>                 *
>>>>>
>>>>>                 *
>>>>>
>>>>             *
>>>>
>>>>             *
>>>>
>>>         *
>>>
>>>         *
>>>
>>     *
>>
>>     *
>>
>> * *
>> * *
> * *
> * *
> **
> * *

---

From: mark wills <[email-masked]>
Date: Sat, 10 Apr 2010 16:20:26 +0000 (GMT)

You're reading the book from Forth Inc at Forth.com, right?

It's a re-hash of Brodie's book, and is, frankly, rubbish! Get yourself the real thing. I just ordered the second edition to see what the differences are...

Mark

>Sent: Sat, 10 April, 2010 12:31:22
>Hey Willsy--- it's Starting Forth by Brodie.  The majority of what I am reading is great, but as Bob stated, this is a later version of the book which actually talks about modern OSes and "double clicking" desktop icons.... I believe it has been revised.  It's great though because the problems at the end of each chapter have links to the answers--- it's quite interactive actually.  :). BUT.... Some of the examples are a bit funky and confusing... I spent some time and went through these points of question and gathered the proper info.... In this case, there was a text explanation, a table, and a cartoon. One of them was contradictory to the other two, and after reading and breaking it down, I isolated the inconsistency and I'm on the right track now.  :) 
>
>Owen Brand
>Opry99er.com
>
>On Apr 10, 2010, at 3:49 AM, mark wills <[email-masked]> wrote:
>
>
>>>
>>
>>
>>  >>
>>
>> 
>>>>      
>> 
>>>Wow-- Chapter 2 of the book was alot more intense than chapter 1.  It seems to be a bit confusing on some terminology. .. "Top" "First" on the stack... It talks about the "top" of the stack, then it talks about "first number".  I lose track when the terms aren't consistent.  It's description of ROT is quite confusing.  The description, the numeric "contents of stack" table and the graphic illustration are all conflicting each other...  I'm going to move on, but for the record, that section really sucked!  :)    
>>>
>>>Owen Brand 
>>>
>>>Opry99er.com
>>>
>>>On Apr 9, 2010, at 11:23 AM, mark wills <markrobertwills@ yahoo.co. uk> wrote:
>>>
>>>
>>>  
>>>>>>Here is a VERY important distinction between Forth and other languages: In XB, for example, things like + - *
>>>>>> etc are OPERATORS. They don't work like statements or functions. They are kind of special. It's different in Forth. + is JUST ANOTHER WORD in Forth. It is a little program in it's own right, that removes two values from the top of the stack, adds them, and puts the result on the stack.
>>>>>>
>>>>>>>>When applications
>>>>>>>> are built like this, they are said to be "highly factored". You will notice that the program (at least at this high level) almost reads like english. It doesn't even look like Forth! You have defined your own DSL (domain specific language) for controlling an industrial washing machine!
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>>>>> >http://docs.yahoo.com/ >>>>>>>>>>>> info/terms/
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>
>>>
>
>
>

---

From: Owen Brand <[email-masked]>
Date: Sat, 10 Apr 2010 13:20:15 -0400

Yep, that's the book-- online book or whatever.  And thanks for  
telling me I'm not crazy/dense.  I knew something wasn't quite right.   
I'll order me one of the real ones.  :). Thanks

Owen Brand
Opry99er.com

On Apr 10, 2010, at 12:20 PM, mark wills <[email-masked]>  
wrote:

> It's a re-hash of Brodie's book, and is, frankly, rubbish! Get  
> yourself the real thing. I just ordered the second edition to see  
> what the differences are...
>
> Mark
>
> am reading is great, but as Bob stated, this is a later version of  
> the book which actually talks about modern OSes and "double  
> clicking" desktop icons.... I believe it has been revised.  It's  
> great though because the problems at the end of each chapter have  
> links to the answers--- it's quite interactive actually.  :).  
> BUT.... Some of the examples are a bit funky and confusing... I  
> spent some time and went through these points of question and  
> gathered the proper info.... In this case, there was a text  
> explanation, a table, and a cartoon. One of them was contradictory  
> to the other two, and after reading and breaking it down, I isolated  
> the inconsistency and I'm on the right track now.  :)
>
> Owen Brand
> Opry99er.com
>
>> It seems to be a bit confusing on some terminology. .. "Top"  
>> "First" on the stack... It talks about the "top" of the stack, then  
>> it talks about "first number".  I lose track when the terms aren't  
>>>> a "symptom" (for lack of a better "word") of the Last In First  
>>>> Out methodology.  It seems a bit strange to me, but the more I  
>>>> type and practice, the more sense it makes.  Your documentation  
>>>> will, I assume, discuss in detail the way this concept works with  
>>>>> etc... Your application is built (or rather 'grown') from lots  
>>>>> of little words. You test each word as you go and move on when  
>>>>> you are happy with it. Notice that RINSE uses FILL to fill the  
>>>>> washer after draining it.
>>>>>
>>>>>> smaller words, so instead of one word that is 10's of lines  
>>>>>> long (as you might in C) you tend to break up the routine into  
>>>>>> Wow, I'm just a few pages into the first chapter and the  
>>>>>> concept is so simple it's beyond brilliant!!!  This concept  
>>>>>> seems to be a streamlined greased lightning version of user- 
>>>>>> defined SUBS in XB, only much more efficient and  
>>>>>> straightforward!  It also seems to be the perfect language  
>>>>>> choice for the /4a, as it has absolute ties to ASCII and would  
>>>>>> seem to sit cleanly on top of the machine language.  Very good