The following is a context-free grammar in EBNF for versions 2.χ of the Camille programming language through Chapter 11:
We desire user-defined functions to be first-class entities in Camille. This means that a function can be the return value of an expression (altering the expressed values) and can be bound to an identifier and stored in the environment of the interpreter (altering the denoted values). Adding user-defined, first-class functions to Camille alters its expressed and denoted values:
Thus,
Recall, previously in Chapter 10 we had
3.149.248.0