-
Notifications
You must be signed in to change notification settings - Fork 40
Morphisms between diagrammatic instances: data structures and validation #751
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
kris-brown
wants to merge
23
commits into
main
Choose a base branch
from
instancemorphisms
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
clippy after rustup some negative tests
34d018f to
da29617
Compare
By taking Solid.js out of the notebook change handling, we can finally implement this refactor. Not only is it conceptually cleaner to hand off the whole notebook, this will eventually enable better error reporting since errors can be attached to specific cells.
No idea why this wasn't an issue earlier.
This change decouples whether we're using document def IDs or Automerge document IDs from the caching logic of the model library.
This didn't actually become a bug until very recently, when the model library was introduced, but passing ownership in JavaScript is a big footgun regardless.
Now that the frontend is caching elaborated models (via the model library), it makes sense to make them cheaply cloneable.
--------- Co-authored-by: Matt Cuffaro <[email protected]> Co-authored-by: Evan Patterson <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
This PR introduces a data structure for morphisms of diagrams$D:J \rightarrow C$ to $D': J'\rightarrow C$ , each of which presents a C-Set viewing $D$ and $D'$ . The morphisms we care about are morphisms between these (implicit) C-Sets.
The key features associated with this are checking whether a purported diagram morphism is natural and whether two diagrammatic morphisms represent the same C-Set morphism.
The way one refers to the elements of the sets underlying a C-Set, given a diagram$D:J->C$ , is to give an object $j \in J$ and a morphism $D(j)\rightarrow c$ in $C$ . There are many ways to refer to the same object. The key algorithm is
zigzagwhich checks whether two such references have the same referent.There is still some work to do in the documentation and finding good / rich / intuitive examples to run tests on to verify things are actually working properly.