Modula-2 Reloaded

A Modern Typesafe & Literate Programming Notation

Site Menu

Project

Specification

Implementation

Recommendations

Reference

Needs Updating

Work in Progress

Wastebasket

Wiki Manual

edit SideBar

Type SIZEINT

Type SIZEINT

Type SIZEINT would be a signed integer type that can hold values in the range -1 to the size of the largest allocatable storage area measured in octets. The type would map to POSIX' ssize_t type. Functions SIZE, TSIZE, HIGH and LENGTH would then return values of type SIZEINT. The size parameters of ALLOCATE and DEALLOCATE would be of type SIZEINT.

The type would be defined as:

TMIN(SIZEINT) = -1
TMAX(SIZEINT) = pow(2, (TSIZE(SIZEINT) * 8) DIV 2)
TSIZE(SIZEINT) >= (TSIZE(ADDRESS) DIV 8) - 1