Formal lexical definitions are allways written in marked block like this:
This block contains a formal definition
The grammar is losely based on BNF:
foo ::= bar | fubar [!]...
Some definitions can not be made on a pure syntactic level. These definitions are intertwined with the more standard lexical defintions. Ocean specifies these with:
known-value : an expression which can be computed during compile time;
Italic words are defined elsewhere.
One specific part of Ocean is always there: the standard libary. It doesn't have its own namespace and for all intends and purposes it is part of Ocean proper, but for the fact that you could write it in Ocean itself.
# Comments are like manuals: a product is not finished without them.
Code examples are allways written in marked block like this:
# This block contains a code example fub!!! fubar fubar!!!!
Conventions are described in these boxes:
Any item that will probably not change anymore is indicated by a light blue background.
Any item that will probably change a bit is indicated by a light yellow background.
Any item that is not even close to its final form is indicated by a light red background.