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

Switch compiler macros to CONSTANT-FORM-VALUE instead of CL:EVAL #345

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

samuel-hunter
Copy link
Contributor

@samuel-hunter samuel-hunter commented Nov 8, 2022

WIP. Fixes #344.

CONSTANT-FORM-VALUE probably ought to belong in a separate package so that CFFI-SYS can access it without a circular dependency.

@samuel-hunter
Copy link
Contributor Author

All uses of CL:EVAL are switched out except for the CFFI-SYS macros in cffi-*.lisp. Two ideas I've had for moving CONSTANT-FORM-VALUE to let these macros use it as well are:

  • Create a package cffi-sys-util that both cffi-sys and cffi can import from (would exposing a new package be problematic?)
  • For each cffi-*.lisp, split them into head and tail files and have CONSTANT-FORM-VALUE loaded in-between (Prevents exposure of a new package, but doubling files here feels like a code smell here)

I'm leaning on option 1. Any thoughts?

@sionescu
Copy link
Member

sionescu commented Nov 8, 2022

8629618 refactors the package definitions and exports CONSTANT-FORM-P and CONSTANT-FORM-VALUE from CFFI-SYS.

@samuel-hunter
Copy link
Contributor Author

Switched out functions in cffi-sys. This should be ready for another round of reviews

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.

Switch compiler macros to CONSTANT-FORM-VALUE instead of CL:EVAL.
2 participants