[top] [prev] [next]

Required interfaces

C++ has a host of operators that will be explained if and where needed. ---The C++ Programming Language

There are several fundamental interfaces that every Modula-3 implementation must provide:

Text provides operations on text strings.

Thread provides synchronization primitives for multiple threads of control.

Word provides operations on unsigned words.

Real, LongReal, and ExtendedReal define the properties of the three floating point types; for example, their bases and ranges.

RealFloat, LongFloat, and ExtendedFloat provide numerical operations related to the floating-point representation; for example, extracting the exponent of a number.

FloatMode provides operations for testing (and possibly setting) the behavior of the implementation in response to numeric conditions; for example, overflow.

Implementations are free to extend the required interfaces, provided they do not invalidate clients of the unextended interfaces.

The versions of the required interfaces distributed in CM Modula-3 are available here: Text, Thread, Word, Real, LongReal, Extended, RealFloat, LongFloat, ExtendedFloat, FloatMode.

CM Modula-3 provides many other interfaces. A few that are recommended to other implementers, but not required are:

Fmt and Lex provide for textual formatting and scanning of numbers and other data.

Pickle provides type-safe persistent storage via binary files called "pickles".

Table provides generic hash tables.

The full set of library interfaces distributed with CM3-IDE is available here.

[top] [prev] [next]