[Oberon] FPGA - Little Endian & Bit numbering

August Karlstrom fusionfile at gmail.com
Fri Sep 22 17:43:48 CEST 2017


On 2017-09-22 15:46, Jörg wrote:
> In Oberon-07, with the standard function ORD(s) you can convert a SET to an
> INTEGER.

It's odd, however, that there is no (non-SYSTEM) procedure for 
converting an integer back to a set.

> And here the dilemma starts: ORD() is very vaguely defined!!

Indeed! When I first saw that ORD was defined for sets I thought it was 
to be interpreted as set cardinality.

> Principally "ORD" should be in MODULE SYSTEM as it's implementation
> specific, e.g. ORD("A") is not defined at all. Almost everybody
> assumes it's the ASCII value 65 but it could also return EBCDIC value
> 193, but this is off-topic.
This is completely true. Niklaus Wirth says in section 11.1 of the 
language reference that any facility which "value is 
implementation-dependent, that is, it is not derivable from the 
language's definition" should go in the SYSTEM module. This implies that 
ROR should also be defined in SYSTEM.


-- August


More information about the Oberon mailing list