Skip to content

feat!: normalize empty lists and direct Read output - #195

Draft
wackywendell wants to merge 3 commits into
wendell/emit-passthroughfrom
wendell/emit-read-compact
Draft

feat!: normalize empty lists and direct Read output#195
wackywendell wants to merge 3 commits into
wendell/emit-passthroughfrom
wendell/emit-read-compact

Conversation

@wackywendell

Copy link
Copy Markdown
Collaborator

Description

This PR makes empty lists explicit across the text format and uses compact => as the canonical spelling for a named Read with Direct output.

For example, both of these inputs describe an empty named Read schema:

Read[my.table => _]
Read[my.table +> _]

Formatting writes the first form. A Read with an explicit Emit remains explicit:

Read[my.table +> a:i32, b:string |> $1, $0]

Part of #34.

Changes

  • (Breaking!) Requires _ for empty extension and addendum arguments, extension output
    columns, named and virtual Read schemas, and Aggregate output.
    • Reject blank required lists such as Read[my.table +> ], Read:Virtual[() => ], and Aggregate[_ => ].
  • Canonicalize named Read Direct output as => schema, including verbose
    formatting and protobuf input that explicitly contains Direct.
  • Continue accepting Read[table +> schema] as Direct input, but format it
    with =>.
    • The explicit Read[table +> schema |> mapping] would be preserved.

@wackywendell
wackywendell force-pushed the wendell/emit-passthrough branch from 2e3e615 to 0f8f140 Compare August 5, 2026 17:47
@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-passthrough branch from 0f8f140 to 5e14c7c 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