Skip to content

Conversation

GrossTrevor
Copy link
Member

There are a lot of changes in this PR, many of which are still going to be edited before merging.

This was created in the context of updating the docs after the paper has already been submitted so that a blog post can be created that links to updated docs pages. Only the five most recent commits (as of 4/10) are related to docs.

These are the two new docs files that we have created so far that contain examples based on those from the paper:
docs/literate/consensus_example.jl
docs/literate/flocking_example.jl

The initial conditions are not yet deterministic, this will be added soon.

tylerhanks and others added 25 commits March 12, 2025 11:37
Co-authored-by: Sam Cohen <samuelcohen1@users.noreply.github.com>
Co-authored-by: Trevor Gross <GrossTrevor@users.noreply.github.com>
Co-authored-by: Trevor Gross <GrossTrevor@users.noreply.github.com>
Added var declaration parsing functions to impliment.

Move branch to fork

Expr: Tuple correctly feeds into lower level parse function now... MLStyle dep added.

Created an ADT file in which stores the Sheaf ADT using MLStyle and StructTypes.

Wrote documentation for module identifier.

Added complete documentation for the AST abstract type.

Reordered file to run top-bottom.

Resolved minor issues.

Split product into two structs: restriction map and vertex stalk. Started building test file.

Simplified ADT to structs and proved creation of first ADT cellular sheaf expression in tests.

Created look up table for constructor.

Tested Var Redeclaration Exception.

Created helper function for throwing error when a linear relation contains an undefined var.

Created test for exceptions when var is undeclared in relation.

Modified dimension types to be integers. Edge stalk inference WIP.

Tested that inconsistent edge stalks throw exceptions.

Added error message for attempts to map wrong vertex stalk dimension.

Created test for wrong mapping.

created method for gathering vertex stalk dimensions.

Created system to gather vertex and edge stalks

Empty cellular sheaf can now be constructed.

Created method of storing vertex + edge dimensions for construction.

Starting on the parsing macro. Currently has errors

Modified Judgements into declarations that can hold data.

Modified minor test errors after judgement change.

Completed parse declaration function and added parse equation to do.

Fixed minor declaration parsing errors.

Removed declaration debugging prints.

Parse cellular sheaf now passes in escaped local vars and their names.

Modified parse_cellular_sheaf signature to accept multiple local args.

Cleaned up some error throwing.

Local parameters are now added to the AST.

Added root construction and constructor function.

Added type checking to constructor.

Moved Macro into seperate file that depends on ADT and CellularSheaves files.

First sheaf construction via macro complete!

Removed Debug statement.

Seperated construct into cleaner functions.

Added documentation to ADT file.

Added documentation to macro function.

Tested all exceptions in ADT testing file.

Added more tests. Need to fix an error where you need to pass more than one arg into macro.

Added exception for non matrices.

Adjusted minor teesting errors within ADT file.

Replaced accidental "Throws" w/ correct "Error" in Parser code.

Modified isEqual Func

Added support for singular arguments in macro.

Added error exceprtion for using macro without arguments.

Made minor test changes.

Removed unneeded StructTypes.

Literate File Created for Cellular Sheaf Macro

Renamed Sheaf Macro Guide Literate/Generated.

Modified Literate to remove unneeded example.

Added CFG to parser API docs.

Added Sheaf Error Types to the parser + constructor.
@tylerhanks tylerhanks merged commit 15842d6 into main May 5, 2025
8 checks passed
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.

5 participants