HOST-REFERENCE-RESOLVER is described as if it is a simple function for resolving access to a single cell and returns a value (or perhaps an array or a list). This does not deal with the cases.
I recommend that we look at HOST-REFERENCE-RESOLVER as a host-document processor interface that represents how an integration of OpenFormula provides essential interactions are accomplished in order for an evaluator to access features of the hosting document and also receive values for use in evaluator operations and deliver results for use as needed on behalf of the hosting document and its consumers and producers. The specification of the document format that integrates OpenFormula expressions will stipulate any limitations that apply to resolution in the context of a particular use and also stipulate what aspects, if any are implementation-defined/dependent.
The HOST-REFERENCE-RESOLVER should specify arrrangements such as
- the CONTEXT of the evaluation that factors in how reference expressions are to be resolved. [Note: it might be convenient to visualize the context as an object that the evaluatior relies on for communication with the resolver or that is supplied back to the resolver to ensure that references are reconciled in the applicable context. No implementation is to be implied either way.]
- the SYNTACTIC FORMS of references and reference lists that are acceptable and resolvable to an enumeration of cells or the equivalent (special case: a single cell) and how bindings of document entities to components of reference syntax are resolved.
- ENUMERATIONS of cells or the equivalent that are encompassed by a reference or reference list
- OPERATIONS on references that determine further references
- DELIVERY OF VALUES of a particular data type and/or structure (e.g., array or list or scalar) for use by the evaluator, with possible negotiation between what the evaluator can accept for a particular operation and what the host document can provide in the current context
- ACCEPTING RESULTS (including failures) of completed OpenFormula evaluations, with possible negotation between what the evaluator has and what the host document can accept in the current context
This does not generally extend to what functions and operations can be used apart from those that are consequences of resolver limitations. There might also need to be understood resolver provisions for user-defined functions and externally-defined/-extended functions though.