16.10.2013 Views

5 - Forth Interest Group

5 - Forth Interest Group

5 - Forth Interest Group

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

(GEnie/nrm pago 32.)<br />

not endorse, and never have<br />

endorsed, the approach that<br />

has been taken in this area<br />

by the ANSI team. I felt that,<br />

in this case, an attempt was<br />

made, profbmra, to consult<br />

me. I thank Mitch Bradley for<br />

at least making an effort to<br />

hear different opinions be-<br />

fore taking . . . action.<br />

From: Greg Bailey<br />

In reply to John Wavrik's<br />

recent postings regarding the<br />

discussion that has followed<br />

his " d i s e post- ~ ~<br />

ing:<br />

First, I should like to<br />

apologize to Dr. Wavrik for<br />

having misunderstood his<br />

intentions in re-posting his<br />

architecture article. It was<br />

dated 19 Aug., appeared on<br />

GEnie 20 Aug., and, given its<br />

wording ("this may be the<br />

best general response"), it<br />

seemed to me that this was<br />

the totality of his response.<br />

Since a more specific response<br />

appeared on GEnie<br />

five days later, I clearly misunderstood<br />

his intent.<br />

Second, I should like to<br />

apologize to Dr. Wavrik if I<br />

have put any words into his<br />

mouth. On the other hand, it<br />

is diffimlt to discuss the positions<br />

taken by another<br />

without restating them<br />

somewhere along the line;<br />

and since obviously such<br />

restatements are not in the<br />

other party's words, it would<br />

seem that the same could be<br />

said of any rebuttal delivered<br />

by anyone. However, if my<br />

restatement of what John<br />

appeats to be saying is grossly<br />

at conflict with his meaning,<br />

I am glad to be shown what<br />

the meaning really is. In fairness,<br />

however, one major<br />

reason for replying to John's<br />

postings is that he is articulate<br />

and seems to me to have<br />

put many words into the<br />

mouths of the TC.<br />

For example, John has<br />

drawn the following erroneous<br />

interpretations of just<br />

several recently made points:<br />

"GB's.. . comments illustrate<br />

the faa that there are<br />

also people in the <strong>Forth</strong><br />

Figure Ten. User-level view of window code. I<br />

METHODNAME CLEAR METHODNAME DISPLAY<br />

METHODNAME SCROLLUP METHODNAME SCROLLDOWN<br />

METHODNAME >XY<br />

CLASS WINDOW ( xlr ylr xu1 yul -- )<br />

DATA<br />

, \ Rectangle<br />

\ Plus additional attributes internal to window operations<br />

METHODS<br />

CLEAR M: ... M;<br />

DRAW M: ... M;<br />

SCROLLUP M: ... M;<br />

SCROLLDOWN M: ... M;<br />

>XY ( x y -- ) \ Move cursor to x y<br />

\ within the window<br />

M: ... M;<br />

ASTEXT M: ... M;<br />

BUILD M: ... M;<br />

INHERIT<br />

RECT<br />

ENDCLASS<br />

Figure Eleven. Details derived from LMI demo.<br />

HEX<br />

METHOD: WAR@ ( addr -- dx cx bx )<br />

\ Fetch parameters for an IBM-PC video 1/0 call<br />

DUP >R LOWERRIGHT IN RECT 100 * +<br />

\ dx from ul<br />

R@ UPPERLEFT IN RECT 100 * +<br />

\ cx from lr<br />

R> WSIZE 4 * + @<br />

\ bx from the attribute variable<br />

METHOD ;<br />

METHOD: W-ATTRIB ( attrib addr -- )<br />

\ Change the initializing attribute<br />

SWAP 100 * SWAP WSIZE 4 * + !<br />

METHOD;<br />

METHOD: W-EXEC ( dx cx bx ax -- )<br />

\ Execute the window function<br />

regAX ! regBX ! regCX ! regDX ! 10 INT86<br />

METHOD ;<br />

METHOD: W-CLEAR \ Initialize the window<br />

WPAR@ 0600 W-EXEC<br />

METHOD ;<br />

METHOD: W-UP \ Scroll the window up<br />

WAR@ 0601 W-EXEC<br />

METHOD ;<br />

METHOD: W-DOWN \ Scroll the window down<br />

WAR@ 0701 W-EXEC<br />

METHOD ; (Figurs continues.)<br />

January 1992 February 38 <strong>Forth</strong> Dimensions

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!