Skip to content
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

Refactor central ADTs into a core module for modularity #124

Merged

Conversation

niklasdewally
Copy link
Contributor

@niklasdewally niklasdewally commented Dec 6, 2023

Cherry-picked out of #112

See commit description

@niklasdewally
Copy link
Contributor Author

niklasdewally commented Dec 8, 2023

Should merge #83 first. Once #83 is merged, I will probably need to fix the changed trait for sat solver translation stuff on this branch then this can be merged once this is done.

EDIT: actually, that needs some work, should probably merge the rest then work on #83 later...

@niklasdewally
Copy link
Contributor Author

Closes #118

@niklasdewally niklasdewally linked an issue Dec 8, 2023 that may be closed by this pull request
@niklasdewally niklasdewally added the kind::refactor Improvements to existing code (style, performance, clarity, ...) label Dec 8, 2023
@niklasdewally niklasdewally removed their assignment Dec 8, 2023
@niklasdewally niklasdewally added the area::conjure-oxide Related to conjure_oxide. label Dec 8, 2023
This is a refactor in preparation for adding procedural macros in
conjure-cp#112

Crates that define proc macros can only export proc macros. Therefore,
these must be a seperate crate than Conjure Oxide (Conjure Macros).

To avoid circular dependencies, datatypes previously defined in Conjure
Oxide that are also needed in Conjure Macros have been refactored into a
Conjure Core Crate.

This creates the following dependency graph:

Conjure Core -----> Conjure Macros
|                       |
|                       v
------------------> Conjure Oxide

Conjure Oxide will still be the sole "user interface", and will
re-export members of core and macros when these should be public facing.

Co-authored-by: Niklas Dewally <niklas@dewally.com>
@ozgurakgun ozgurakgun merged commit 8d8af4a into conjure-cp:main Jan 19, 2024
9 checks passed
@niklasdewally niklasdewally deleted the pr/refactor-crates-for-macros branch February 20, 2024 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area::conjure-oxide Related to conjure_oxide. kind::refactor Improvements to existing code (style, performance, clarity, ...)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace TryFrom in Kissat adaptor with new FromConjure Trait
3 participants