From: utzoo!decvax!harpo!floyd!cmcl2!philabs!sdcsvax!sdccsu3!sdcrdcf!bmcg!rasp Newsgroups: net.micro.atari Title: Re: Valforth Article-I.D.: bmcg.358 Posted: Tue May 10 19:00:57 1983 Received: Thu May 19 06:08:03 1983 References: cbosg.2871 I'm sorry that the first version of this article got smashed. Here is what it should say: If you are reading Leo Brodie's book, Starting FORTH, and ValFORTH, then you are faced with a mild but basic incompatibility problem. Anybody out there using figFORTH or its derivatives should take heed, also. In Brodie's book he creates variables by saying: VARIABLE I believe that it automatically provides an initial value of zero. In figFORTH, however, the variable takes its initial value from the stack. Thus the declaration would be: VARIABLE A much nastier incompatibility between Brodie FORTH and figFORTH is their treatments of the tick (') function. Brodie's tick produces the code field address (CFA) directly; therefore, it is possible to EXECUTE a 'ed name: ' VLIST EXECUTE is exactly equivalent to typing VLIST. In figFORTH, however, the tick function returns the PFA from which it is possible to calculate the CFA by either subtracting 2 or saying CFA. In figFORTH the sentence should read: ' VLIST CFA EXECUTE or: ' VLIST 2 - EXECUTE Failure to include the CFA or 2 - will result in a crash. I don't know of any other major inconsistencies between the two versions. That latter one is mean enough in that it prevents you from sitting down at your computer and typing in examples from the book. For those of you that are into FORTH, here is a warning: EVERY VERSION OF FORTH FOR THE ATARI THAT I HAVE CHECKED SO FAR HAS A BUG IN IT THAT WILL CAUSE ABOUT .4% OF ALL DEFINITIONS TO CRASH. The explanation is involved, so I won't go into it on the net unless there is considerable interest. If you care, please write to me. I hope you find these comments of interest. Ron Perloff Burroughs ASG 16464 Via Esprillo San Diego, CA 92128 619-451-4519 ---!bmcg!rasp 9 9