endianness - quote an endianness symbol

LIBRARY

(import (rnrs))                     ;R6RS
(import (rnrs bytevectors))         ;R6RS

SYNOPSIS

(endianness endianness-symbol)

DESCRIPTION

The endianness syntax quotes the endianness-symbol, while ensuring that it is one of the supported endiannesses in the implementation.

An implementation must support at least the symbols big and little, but may support other endianness symbols.

IMPLEMENTATION NOTES

Larcency Scheme
Using this syntax causes a deprecation warning to be printed.

EVALUATION

This syntax evaluates to one of the supported endianness symbols.

EXAMPLES

(endianness little)
          => little

(endianness big)
          => big

APPLICATION USAGE

This is used as an argument to bytevector procedures.

RATIONALE

The native endianness is not included as an option, like it was in SRFI-74. It would have unnecessarily caused the expansion of a program to depend on the machine on which it's expanded.

It is impossible to tell if a new endianness will become popular in the future, so extensions are allowed.

COMPATIBILITY

This syntax works the same everywhere that it's supported (but see Implementation Notes above).

ERRORS

This syntax can raise exceptions during expansion with the following condition types:
&syntax (R6RS)
The wrong number of operands was given or the operand was not a supported endianness symbol.

SEE ALSO

native-endianness(3scm), bytevector-u16-ref(3scm)

STANDARDS

R6RS

HISTORY

This syntax is new for R6RS and first appeared in SRFI-74.

There have been mixed-endianness machines, such as the PDP-11, which do not fit as either big or little.

AUTHORS

This page is part of the scheme-manpages project. It includes materials from the RnRS documents. More information can be found at https://github.com/schemedoc/manpages/.


Markup created by unroff 1.0sc,    March 04, 2023.