JSON Serialization and TypeScript definitions for WireValues - #148
Open
olynch wants to merge 63 commits into
Open
JSON Serialization and TypeScript definitions for WireValues#148olynch wants to merge 63 commits into
olynch wants to merge 63 commits into
Conversation
…and fix propagated errors in coln-store
…ariants as types) in an oblivious-to-JSON manner
…e for old Code type alias
…r crates to consume; Add end-to-end test for translating (but not running yet) FLIR to a query program
…tal backend to substitute multi way joins with a folded sequence of binary joins
…mpact structural transformations without AST boilerplate
…nditions into one selection whose condition ANDs the N conditions, as opposed to N individual Selections
…ery and have SourceExpr leaves reference a name in a Catalog of base tables
…chema, and per backend schemas of tables and views to decouple further from DBSP
…ts for (soft) violations
…om the outside on ColnQuery
…tils, just like the feature name
Add the logical-to-physical lowering with a guided test ladder
build lowers the resolved plan into one coln-batch Datalog program, feed stages rows per source (net z-weights; u64 and bool value slice), commit recomputes the full result with the semi-naive fixpoint over worst-case-optimal joins, and output returns a Snapshot: the full current state of a sink, sorted and deduplicated, with a to_debug_zset view for set-level comparison against the incremental backend's consolidated deltas. Anchor tests run the arithmetic-free reachability plan and a plain u64 join through both pipelines and require identical rows. Rows carrying strings fail loudly for now (TODO: remaining scalar types after the end-to-end slice). Structurally, the lowering module leaves its cfg(test) gate and coln-batch becomes a regular dependency of coln-query. The stale, unused coln-integrator dependency of coln-batch is removed; that dead edge is what kept this direction cycle-free.
Now the user should not need to call .into()
Wire up the batch backend into Pipeline::batch()
Value unification
incipit0
reviewed
Sep 7, 2026
| @@ -1,5 +1,5 @@ | |||
| // This file has been generated by Specta. Do not edit this file manually. | |||
| export type CommitHash = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number]; | |||
Collaborator
There was a problem hiding this comment.
interesting representation
incipit0
reviewed
Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Using
serdeandspectawe can automatically derive JSON serialization and compatible typescript types for WireValues.This also stubs out methods that we want to implement for the FFI. While this is not complete, I'd like to review and merge this, so that I can start building the TypeScript generation on top of it.