Skip to contents

The signature is how the package tells two reading methodologies apart from two names for the same thing. It encodes which chunks reach the model (select), the call pattern (calls), and whether information flows between calls (state).

Usage

gr_reader_signature(reader)

Arguments

reader

Reader name, or a gr_read_spec.

Value

A single string "select|calls|state", e.g. "topk|1|none". For ensemble the member list is appended in braces ("ensemble|sum+1|none{map_reduce+retrieve}"), so two ensembles with different members are correctly seen as different experiments.

See also

gr_readers() for every signature at once, gr_compare() which uses this to detect duplicate recipes, gr_register_reader()

Other reading functions: gr_answer, gr_read(), gr_read_spec(), gr_readers(), gr_register_reader(), is_not_found(), new_answer()

Examples

# Same document, different traversal: one call over everything, versus one
# call per chunk plus merges.
gr_reader_signature("stuff")
#> [1] "all|1|none"
gr_reader_signature("map_reduce")
#> [1] "all|N+logN|tree"

# An ensemble's signature carries its members, so two differently-composed
# ensembles are not mistaken for each other.
gr_reader_signature(gr_read_spec("ensemble", members = c("retrieve", "refine")))
#> [1] "ensemble|sum+1|none{refine+retrieve}"