Skip to content

Conversation

@blambeau
Copy link
Contributor

@blambeau blambeau commented Jan 9, 2026

No description provided.

Bmg Developer and others added 8 commits January 9, 2026 21:45
- AsyncRelation interface with lazy evaluation via AsyncIterables
- BaseAsyncRelation class implementing the pipeline pattern
- AsyncBmg factory function for creating async relations
- Helper utilities: toAsyncOperationalOperand, deduplicateAsync
- Terminal operations: one(), toArray(), toRelation()
- Export async types and factory from main index

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Single-tuple-at-a-time operators using async generators:
- restrict, where, exclude (filtering)
- project, allbut (projection)
- extend, constants (tuple extension)
- rename, prefix, suffix (attribute renaming)
- transform (value transformation)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- union: combine relations with deduplication
- minus: set difference (materializes right side)
- intersect: set intersection (materializes right side)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Semi-joins (filter left by right):
- matching: keep left tuples with matches in right
- not_matching: keep left tuples without matches in right

Joins (combine tuples):
- join: natural/keyed inner join
- left_join: left outer join with nulls for non-matches
- cross_product/cross_join: cartesian product

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Nesting:
- group/ungroup: nest/flatten relation-valued attributes
- wrap/unwrap: nest/flatten tuple-valued attributes
- image: add relation of matching right tuples per left tuple

Aggregation:
- summarize: group-by with aggregators (count, sum, avg, min, max, collect)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- autowrap: dynamic nesting based on attribute naming conventions
- yByX: build key-value map from two attributes
- isEqual: compare two async relations for equality (AsyncBmg.isEqual)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Comprehensive test suite for all async operators:
- Test fixtures with async iterables
- Tests compare async results with sync equivalents using isEqual
- Example of custom AsyncRelation with optimized operators

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move completed task files to done-envy
- Update sync isEqual to accept any types for flexibility
- Add local Claude settings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <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