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

cli: Allow client libraries to use IO to create ExtensionImpl #1239

Merged
merged 3 commits into from
Aug 20, 2024

Conversation

langston-barrett
Copy link
Contributor

This is needed in Macaw.

Copy link
Contributor

@RyanGlScott RyanGlScott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am a bit surprised that you'd need IO just to create an ExtensionImpl. Can you say more about how it's used in Macaw? (I'm sure there is a good reason, but I'm having trouble seeing it without further context.)

@langston-barrett
Copy link
Contributor Author

Yeah! The problem is that to create a macawExtensions, you need a MacawArchEvalFn, which, at least for x86_64, requires something called SymFns, which you create with newSymFns ::~ sym -> IO SymFns.

@langston-barrett
Copy link
Contributor Author

Also, to create a MemModelConfig, I'll need access to bak, not just sym (see most recent commit).

@langston-barrett
Copy link
Contributor Author

... and in fact, newGlobalMemoryWith even needs to know sym ~ WEB.ExprBuilder t st fs...

@langston-barrett
Copy link
Contributor Author

See GaloisInc/macaw#423 for what I'm trying to do with this.

Copy link
Contributor

@RyanGlScott RyanGlScott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, right.

@langston-barrett langston-barrett merged commit 93bfa7f into master Aug 20, 2024
32 checks passed
@langston-barrett langston-barrett deleted the lb/cli-ext-impl-io branch August 20, 2024 16:55
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.

2 participants