doc only: fold map and task descriptions of fn args, markdown for code examples #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
I'm starting a new checker for Elle, and in using the documentation for
history/fold/task
found two places with inaccuracies:fold map description in
jepsen.history.fold
:reducer*
and:combiner*
functions don't take ahistory
as the first argjepsen.history/task
macro descriptionmacro doesn't take the single-arity argument vector mentioned
Also added markdown for code examples so the documentation, IDE help, etc is more usable/accessible.
A few observations:
The only thing that felt uncertain was the boundary with
ec/combine
.If multiple graphs want to share task dependencies, they must be in an analyzer fn that combines the graph/explainers
before use by
(ec/combine my-combined-graphs process-graph)
.I kept finding myself wanting to pass a dependency tree of tasks vs a function to
ec/combine
.And it seems like submitting a task for each
:process
in ahistory
to concurrently reduce (when you need to reduce over a:process
's ops) would be appropriate:Thanks for such an ergonomic way to process histories so efficiently!