io7m | single-page | multi-page | SMF Format Specification 0.16.0-SNAPSHOT
Front Matter
Previous
Front Matter
Up
2. Model
Next

# 1. Notational Conventions

- 1.1. Overview
- 1.2. Unicode
- 1.3. EBNF
- 1.4. Haskell
- 1.5. FIX SBE
- 1.6. Requirement Levels

## 1.1. Overview

1
This section of the specification documents all notational conventions used throughout.

## 1.2. Unicode

1
The specification makes reference to the Unicode character set which, at the time of writing, is at version 9.0. The specification often references specific Unicode characters, and does so using the standard notation U+NNNN, where N represents a hexadecimal digit. For example, U+03BB corresponds to the lowercase lambda symbol λ.

## 1.3. EBNF

1
The specification gives grammar definitions in ISO/IEC 14977:1996 Extended Backus-Naur form.

## 1.4. Haskell

1
Rather than rely on untyped and ambiguous mathematical notation, this documentation expresses all mathematics and type definitions in strict Haskell 2010 with no extensions. All Haskell sources are included along with the documentation and can therefore be executed from the command line GHCi tool in order to interactively check results and experiment with functions.
2
When used within prose, functions are referred to using fully qualified notation, such as (Vector3f.cross n t). This is the application of the cross function defined in the Vector3f module, to the arguments n and t.

## 1.5. FIX SBE

1
Definitions of binary structures are given as FIX SBE definitions. All values are considered to be in big-endian byte order unless otherwise specified.

## 1.6. Requirement Levels

1
This specification uses terms such as MUST, MUST NOT, SHOULD, SHOULD NOT, etc, according to the definitions given in RFC 2119.
Front Matter
Previous
Front Matter
Up
2. Model
Next
io7m | single-page | multi-page | SMF Format Specification 0.16.0-SNAPSHOT