[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