0 BLOCK in Gforth (Was: Blocks Help etc.) 
Author Message
 0 BLOCK in Gforth (Was: Blocks Help etc.)

On 7 Sep 1999 15:32:21 GMT,


>>  Unlike PICK and ROLL, extensions that were haphazardly developed
>> among vendors before eventually being established as zero-based,

>I thought they were standardized in Forth-79 as being 1-based, and
>changed in Forth-83 to be 0-based.

You're correct there only I was referring to before then to the first  
release of the FIG model which didn't have PICK and ROLL. They came
about later. But it did have BLOCK and in the installation part it
makes explicit reference to using 0 BLOCK 64 TYPE to read the zero
sector of disc in verifying the installation. And in the Forth-83
standard in the section of definition of terms BLOCK is defined as
having a reference range from 0 to n-1. From FIG release 1 to Forth-83
BLOCK has been zero-based. It had been well established up to now.

>> the
>> zero-based BLOCK was a well defined standard core word of long
>> history.

>Unfortunately, I did not find anything to that effect in the standard.
>AFAIK there is no block that is guaranteed to exist.  And the standard
>certainly says nothing about the mapping of blocks to underlying

>> Fixing the problem at the risk of breaking a few
>> applications in the interim is far better than spawning another Forth
>> variant.

>And fixing the problem without breaking these applications is even

That would be great. If mapping magic can leave blocks at least
appearing zero-based, it would make it less of a carcinogen.


WasteLand   http://www.*-*-*.com/ ~tzegub
  | | | |   http://www.*-*-*.com/ ~tzegub/fop.htm

Sun, 24 Feb 2002 03:00:00 GMT  
 [ 1 post ] 

 Relevant Pages 

1. std blocks vs blocks+cache ( was: block behavior)

2. A blocks bug in GForth

3. question on return from blocks and ensure: blocks

4. ERROR "Corrupt Block/Unknown Block Freed"

5. Corrupt block/unknown block type freed bug

6. blocks and lambdas, or blocks as first-class entities

7. Associating block to block call?

8. Block passing: obj.new(){block}

9. blocking and non-blocking assignment

10. Strange behaviour with blocking and non-blocking assignment

11. blocking/non-blocking

12. Conversion of Altera Block RAM to Xilinx Block RAM


Powered by phpBB® Forum Software