jax@well.UUCP (Jack J. Woehr) (06/30/89)
Chatted longish tonight with Wil Baden, Forther Emeritus, FIG Board Member, ANSI X3J14 TC Member. Wil apprised us of an engaging conundrum confronting the TC struggling to hammer out an ANSI Standard Forth. Here is the problem: Forth implicitly recognizes 2's-complement arithmetic. Not all computation is done in 2's-complement. The CRAY, for instance, is a 1's-complement machine. To give you a brief sampler of the problem, imagine an eight-bit one's-complement machine. In binary base, you enter: 11111111 11111111 + The result of this operation on a one's-complement machine is: 11111111 THINK about it. Wil Baden and the ANSI X3J14 want to know WHAT YOU WANT: Should ANSI a) break code b) divorce Forth from 2's-complement c) punt? Your Suggestions Are Eagerly Solicited By The Technical Committee. please respond directly to the TC or email jax@well. will forward your best & worst recommendations to the X3J14 TC. {}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{} {} {} {} jax@well ." Sysop, Realtime Control and Forth Board" FIG {} {} jax@chariot ." (303) 278-0364 3/12/2400 8-n-1 24 hrs." Chapter {} {} JAX on GEnie ." Tell them JAX sent you!" Coordinator {} {} {} {}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
nelson@udel.EDU (Mark Nelson) (07/01/89)
In article <12488@well.UUCP> jax@well.UUCP (Jack J. Woehr) writes: > Forth implicitly recognizes 2's-complement arithmetic. > > Not all computation is done in 2's-complement. The CRAY, >for instance, is a 1's-complement machine. > Minor nit: All Cray Research Inc. computers are 2's-complement machines. The CDC 6000, 7000, Cyber 170, etc. machines designed by Seymour Cray were 1's-complement. Since I'm already using up net bandwidth, my vote is to require apparent 2's-complement arithmetic for the Forth standard. If you really have to run Forth on a 1's complement machine, write software 2's-complement arithmetic. Why? Because I can't think of any 1's-complement architectures designed in the past 20 years, and hiding the negative integer representation in Forth would be hard, and would likely slow code down. Mark Nelson ...!rutgers!udel!nelson or nelson@udel.edu This function is occasionally useful as an argument to other functions that require functions as arguments. -- Guy Steele