Skip to content

Concept to explore: replace Tables with (lambda) field iteration? #2988

@Keavon

Description

@Keavon

Tables are data types that exist at-rest and in-memory during points of execution in the graph. They are analogous to a Vec is Rust.

The idea here suggested by @TrueDoctor, if it turns out to be feasible, is that we can possibly use fields (lambdas, executing upstream nodes multiple times with different context data). This approach would be analogous to an iterator in Rust.

So in our analogy, instead of .collect()ing into a Vec, we could use the iterator directly. From a UI perspective, we can still collect into a table to display in the spreadsheet view based on where the user clicks a thumbnail to view the data at that point. But during regular rendering, collects don't usually occur and we therefore work not with tables but repeated field (lambda node) calls.

This concept requires further exploration by @TrueDoctor before it may or may not become a plan to be implemented.

Metadata

Metadata

Assignees

Labels

ArchitectureInvolves architecture or engineering work or discussionGrapheneInvolves the node graph system/engine used by Graphite

Type

Projects

Status

Short-Term

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions