Skip to content

feat!: Explicit Project outputs - #196

Draft
wackywendell wants to merge 2 commits into
wendell/emit-read-compactfrom
wendell/emit-project
Draft

feat!: Explicit Project outputs#196
wackywendell wants to merge 2 commits into
wendell/emit-read-compactfrom
wendell/emit-project

Conversation

@wackywendell

Copy link
Copy Markdown
Collaborator

Description

This PR adds compact and explicit output syntax for Project.

Compact output describes the final output directly:

Project[_ => 2:i32, $0]

Explicit output separates expressions added by Project from the mapping over its complete direct output:

Project[_ +> 2:i32 |> $1, $0]

A mapping that adds no expressions omits the empty +> clause:

Project[_ |> $1, $0]

Part of #34.

Changes

  • (Breaking!) Require Project's empty relation parameter list to be written as _.
  • Parse compact => output, explicit +> additions, and |> mappings over the complete Project direct output.
    • Project[_] becomes the canonical Direct passthrough form.

API impact

  • Legacy forms such as Project[$0, expression] are no longer accepted. Write
    Project[_ => $0, expression] for compact output.
  • Project[_] now represents Direct passthrough. Use Project[_ => _] for an
    empty final output.

@wackywendell
wackywendell force-pushed the wendell/emit-read-compact branch from 4d2151e to 386caef Compare August 5, 2026 17:47
@wackywendell
wackywendell force-pushed the wendell/emit-project branch 2 times, most recently from 84ae6cd to 884146d Compare August 5, 2026 18:21
@wackywendell
wackywendell force-pushed the wendell/emit-read-compact branch from 386caef to 012d39c Compare August 5, 2026 18:21
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.

1 participant