zarr-specs icon indicating copy to clipboard operation
zarr-specs copied to clipboard

Abstract store interface should be clarified as descriptive, not normative

Open jhamman opened this issue 1 year ago • 3 comments

I would like to understand why the spec includes a Abstract store interface section and ask if this section should be clarified as descriptive, not normative.

Why should the spec care what interface and implementation chooses for the Store abstraction? So long as the store does the right thing, surely the implementation is free to choose a different abstract interface?

jhamman avatar Aug 21 '24 00:08 jhamman

the normativity of that section also stood out to me. I don't know why we need normativity here; in fact, it's probably healthy to allow different implementations to use whatever internal APIs seem appropriate. If there is a "right way" to implement zarr, then it can probably only be discovered empirically (and I doubt there is a "right way").

d-v-b avatar Aug 22 '24 08:08 d-v-b

FWIW the wording is strong:

For a store to be compatible with this specification, it must support a set of operations defined in the Abstract store interface subsection.

dcherian avatar Aug 22 '24 17:08 dcherian

Agreed that this is not intended to specify the actual API in any implementation.

jbms avatar Aug 22 '24 18:08 jbms