[Oberon] Negative integer literals in Oberon
    August Karlstrom 
    fusionfile at gmail.com
       
    Mon Apr 27 20:22:11 CEST 2020
    
    
  
On 2020-04-27 15:12, Jörg wrote:
> Puristically speaking, Oberon can't be used for low level programming
> as too much things are left to the implementation. 
I don't think I agree. As mentioned by Chris, in a low-level module you 
can assert that the type INTEGER has the desired properties and then 
assume that the requirements are met in the rest of the code:
	ASSERT(SYSTEM.SIZE(INTEGER) = 4);
	ASSERT(0FFFFFFFFH = -1) (*require two's complement*)
	...
> An abstraction like "BITFIELD" or "BIT32" or so is missing. This new
> base type is not identical to INTEGER as it does not leave the
> implementation open, but defines exactly how bits are numbered, and
> how many bits there are. If you use the base type INTEGER where you
> basically want to manipulate bits, these two concepts clash. On this
> bit type you can use bitwise AND, OR, XOR, can shift etc.
The basic philosophy of the Oberon language report is to describe an 
abstract language which does contain references to a computer or 
computing mechanism. This makes the language timeless. In the future 
32-bit computing will probably be completely outdated.
-- August
    
    
More information about the Oberon
mailing list