# Limitations and restrictions

There are some limitations and restrictions in implementation of both Modula-2 and Oberon-2 compilers.

- Length of identifiers
- Length of literal strings
- Record extension hierarchy
- Unimplemented ISO libraries
- Unimplemented Oakwood libraries
- Coroutines
- Dynamic loader

## Length of identifiers

The length of an identifier is at most 127 characters.

## Length of literal strings

The length of a literal string is at most 256 characters. Longer strings may be constructed using the string concatenation operator (See Strings).

## Record extension hierarchy

The depth of a record extension hierarchy is at most 15 extensions.

## Unimplemented ISO libraries

## Unimplemented Oakwood libraries

The following Oberon-2 Oakwood library modules are not available in the current release:

Input | Keyboard and pointer device access
Files | File input/output, riders
XYPlane | Elementary pixel plotting

## Coroutines

The current release provides a restricted implementation of the system module COROUTINES: the interrupt requests are not detected.

## Dynamic loader

The Oberon-2 dynamic loading facility is not provided in the current release.