[comp.lang.forth] ">COLROW" The truth.

NER034@PRIME-A.TEES-POLY.AC.UK (02/01/91)

The word >COLROW came out of the proposal TP89-385.  This was for an
Environmental word set.  When originally proposed the word was called TAB with
a stack image of ( row col -- ).  It was changed to the current form at the
committee meeting.  Now, I prefer the more meaningful name >COLROW.  Quite
what the name is and what it's arguments are, are of no real consequence, as
any code using it will have to be updated in any case.

The idea was to provide a cursor movement facility that was device independent.
If you were to remove this word you would need to use specific non-portable
control words or character sequences to produce the same effect.

Indeed I have written a small word-processor package that is highly portable,
because of its use of such a word.  You simply move the package to the new
environment and plug it in.  If such a word were not available I would have to
provide for customising by having a screen or two that the user had to edit
to provide this kind of facility.  This is OK for you and I, but is
intolerable for an end user.

I admit this is designed for systems that use a monitor, rather than a real
TTY.  However, the word could still be used on a TTY type device.

An interesting note is that the word PAGE came from the same proposal.  This is
to clear the monitor (or throw a page feed).  If you wish to throw away
>COLROW, then you should do the job properly and allow no device dependent or
independent I/O, hence PAGE, TYPE, EMIT, CR, KEY, EXPECT, etc. should all go.
But I hope you realise that the resultant system will not be Forth as we
know it.

Peter Knaggs,
______________________________________________________________________________
| School of Computing and Mathematics,  |   Tel: +44 642 342673              |
| Teesside Polytechnic, Middlesbrough   |   Fax: +44 642 342000              |
| Cleveland, England.  TS1 3BA          | Janet: NER034 @ UK.AC.TP.PA        |
|---------------------------------------+------------------------------------|
| It is not enough to do the right thing; one must also do it the right way. |
|____________________________________________________________________________|