THIS MAN (程式藝術)
\ This is a man's LOVE & HATE, I name this program "this man".
\ 08/25/'93 Author : Luke Lee
\ Originally, I intend not to add any comments but I doubt any one
\ would REALLY REALLY understand "this man".
\ With those comments, you should be able to understand some of "this man".
FORTH DEFINITIONS
VOCABULARY THISMAN
\ After you let "this man" enters your system ( FLOAD THISMAN.4TH ),
\ you could FORGET THISMAN if you want to, since THISMAN belongs to
\ FORTH vocabulary; and "this man" will leave your system. But next time
\ when you let this man enters again, he is still the same. The only way
\ should be OUTSIDE-INFLUENCE, or to change HUMAN if you think it's possible.
DEFER OUTSIDE-INFLUENCE \ defined in FORTH vocabulary.
: SPOKE ' EXECUTE DEFINITIONS ;
ALSO SPOKE THISMAN
0 CONSTANT DEAD
7 CONSTANT HUMAN-LIMIT
VARIABLE YEARS
VARIABLE BALANCE
0 VALUE EMOTION
DEFER HUMAN
-1 CONSTANT INSIDE-INFLUENCE \ "this man"'s character
' NOOP IS OUTSIDE-INFLUENCE
: HUMAN_IS_EMOTIONAL
\ It is difficult to change HUMAN unless you understand this system,
\ and "this man".
\ But, if you know how, it is easy. Look :
EMOTION CELL+ IS EMOTION
EMOTION @ IS HUMAN ; \ HUMAN IS not rational
: .LOVE BALANCE @ 0 DO ." LOVE" LOOP CR ;
: .NUMB ." NUMB" CR ;
: .HATE BALANCE @ ABS
DUP HUMAN-LIMIT >= IF HUMAN_IS_EMOTIONAL
." Too much" ENDIF
0 DO ." HATE" LOOP CR ;
HERE IS EMOTION
' .LOVE ,
' .LOVE ,
' .NUMB ,
' .HATE ,
DEAD , \ or you might name this constant BRAIN-DAMAGED
EMOTION @ IS HUMAN
: LOVE ( -- ) \ initially, every human needs love, and they are willing
\ to give it, "this man" is no exception.
\ No one can have two birth, so the initialization takes
\ place only once.
[ HERE ] HUMAN-LIMIT BALANCE !
$C3 LITERAL ! ;
: DRYS-UP? ( addr -- )
@ ABS 1 <= IF
HUMAN_IS_EMOTIONAL
ENDIF ;
: BEAR ( addr -- ) \ inside influence
INSIDE-INFLUENCE BALANCE +! ;
: WAITING ( -- )
CR
YEARS @ 0 DO
BALANCE DRYS-UP?
OUTSIDE-INFLUENCE HUMAN BEAR
LOOP ;
: LOVE&HATE
10 YEARS !
LOVE WAITING ;
\ Dont' let "this man" WAIT-TOO-LONG, or this system will restart again;
\ every thing will remain un-changed but HUMAN IS DEAD. Of course you
\ won't be able to see it ( screen clearred ) because "this man" have
\ already shows you but you ignored; or, you just don't understand
\ "this man".
\
\ Note : After "LOVE&HATE" you can let this man "WAIT-TOO-LONG", or keep
\ "LOVE&HATE" again, but you can't let this man "WAIT-TOO-LONG"
\ and hoping this man could still "LOVE&HATE".
: WAIT-TOO-LONG
HUMAN-LIMIT 1+ 2 * YEARS !
LOVE WAITING ;
ONLY THISMAN ( 's ) LOVE&HATE SPOKE FORTH
ALSO SPOKE FORTH
\ Of course it is possible to modify "this man" into some other man,
\ but "this man" won't be himself anymore. You should not try to modify
\ "this man" according to your incomplete understanding.
\ "This man" would like to keep just the way he is, another thing you
\ can do is to try understanding "this man" and do your OUTSIDE-INFLUENCE
\ ; still another thing is to let "this man" enters your system and then
\ FORGET THISMAN completely.
路客
Email: comforth@ms2.hinet.net