Skip to content

Track timely master changes, around Child scope changes#714

Merged
frankmcsherry merged 13 commits intoTimelyDataflow:master-nextfrom
frankmcsherry:timely_child_scope
Apr 9, 2026
Merged

Track timely master changes, around Child scope changes#714
frankmcsherry merged 13 commits intoTimelyDataflow:master-nextfrom
frankmcsherry:timely_child_scope

Conversation

@frankmcsherry
Copy link
Copy Markdown
Member

Timely introduced changes around Child that removes the G: Scope of the "parent" scope. Several attendant changes need to be shaken out, many of which are cosmetic but some of which are not. The leave() method becomes leave(outer) is the main one, and many trait bounds are changed.

@frankmcsherry frankmcsherry changed the base branch from master to master-next April 8, 2026 18:42
@frankmcsherry
Copy link
Copy Markdown
Member Author

frankmcsherry commented Apr 8, 2026

This seems all pretty good, with the call-out that there is some ergonomic grossness where

stream.scope().iterative(|inner| thing.enter(inner).leave() });

needs to turn in to

let outer = stream.scope();
outer.iterative(|inner| thing.enter(inter).leave(outer) });

This is .. not the end of the world, but is different.

Copy link
Copy Markdown
Member

@antiguru antiguru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks good! Maybe we could pass |outer, nested| to the iterative scope, but not clear whether it works, or whether it's worth the complexity.

@frankmcsherry frankmcsherry merged commit 954c2ea into TimelyDataflow:master-next Apr 9, 2026
6 checks passed
frankmcsherry added a commit that referenced this pull request Apr 13, 2026
* Slow but correct impls

* WIP

* Wildly overcomplicated

* Remove commented code

* Removed one-off trait

* Remove unread counters

* Convert silent errors to panics

* Simplify logic

* More commented code removed

* Extract unconditional behavior

* Idiomatic Rust

* Less time cloning

* Idiomatic capability use

* Ref keyword to borrow

* Further tightening

* Tidy explanatory text, and reflect frontier

* Tighten comments, remove mutable borrow

* Prefer insert_ref to insert

* Use containers for interesting (keys, time) (#710)

* Use containers for interesting (keys, time)

* Remove use of owned keys in reduce.rs

* Remove all uses of KeyOwn

* Remove KeyOwn

* Improve documentation

* Walk back overly prescriptive dogs^3 constraints

* Remove TimelyStack and all dependent types (#715)

Remove TimelyStack, TStack layout, ColumnationChunker, ColInternalMerger,
and all Col* type aliases (ColValSpine, ColKeySpine, ColValBuilder, etc.)
from the codebase. The columnation crate dependency is retained.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Track timely `master` changes, around `Child` scope changes (#714)

* Track timely's Child changes

* Tidy bounds

* Absorb next wave of changes

* Remove unused, and Arranged impls

* Remove timestamp generic from Arranged

* Standardize T for timestamps, Tr for traces

* Correct local timely reference

* Convert G generics to T

* Remove as Timestamp prompts

* Remove T generics bound by Tr

* Remove Scope::clone calls

* Further tightening of traits

* Correct docs

* Relifetimed scopes (#718)

* Bring core DD into line

* Clean up examples and tests

* Interactive update (#719)

* Example DDIR with SCC

* Parse from concrete syntax

* Further examples and improvements

* Further improvements to track columnar

* Move DDIR to its own crate

Extract the DD IR interpreter into a `ddir/` crate, separating shared
infrastructure (parse, IR, lower) from backend-specific rendering.

- Split parse into `parse/applicative.rs` (.ddir) and `parse/pipe.rs` (.ddp)
- Extract `ir.rs` (Node, Program, RowLike) from `lower.rs`
- Move programs and examples from differential-dataflow/examples/ to ddir/
- Remove DDIR_DEBUG, DDIR_REACHABILITY, DDIR_PRINT env vars (use INSPECT)
- Fix off-by-one in columnar harness timestamping
- Unify inspect output format between vec and col backends
- Update programs to output compact counts via arrange+inspect

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Optimized IR

* Relocate to interactive/

* Further clean-up

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* DDIR README

* Continue to track timely master (#720)

* Target timely 0.29 (#721)

---------

Co-authored-by: Moritz Hoffmann <antiguru@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants