New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce branching sections #449
Conversation
case Evaluator.fetch_evaluation_context( | ||
source_evaluator, | ||
source_evaluation_ref, | ||
cached_id: state.initial_context.id |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Each context now has a unique id. If we keep reevaluating the first cell in a branching section, we will transfer the context only the first time.
By default all cells are included. | ||
""" | ||
@spec cell_dependency_graph(t()) :: Graph.t(Cell.id()) | ||
def cell_dependency_graph(notebook, opts \\ []) do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was fun
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Absolutely beautiful! Just some minor comments and ship it!
Closes #21.
Allows for having sections that branch out of a previous regular section. Such branching section still has access to all bindings defined by the parent section, but runs concurrently and generally has no impact on further sections (for instance "stale" invalidation is limited to that single section).
Intro
Demo
branching.mp4
Details
From
Livbook.Session
: