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

Split mixins into two distinct categories #249

Open
cpurdy opened this issue Nov 11, 2024 · 0 comments
Open

Split mixins into two distinct categories #249

cpurdy opened this issue Nov 11, 2024 · 0 comments

Comments

@cpurdy
Copy link
Collaborator

cpurdy commented Nov 11, 2024

Is your feature request related to a problem? Please describe.
Writing a mixin involves deciding whether it is to be "incorporated" vs. "annotated". The mixin generally cannot be interchanged between these two use cases without errors.

Describe the solution you'd like
Add keyword annotation to indicate that a mixin class is explicitly an annotation, vs explicitly for incorporation (mixin).

Describe alternatives you've considered
The status quo is the alternative that has issues, so we have experimented with it for a few years, and find it lacking.
We also discussed automatically determining whether a mixin is "safe" to use as an annotation ("over") vs. incorporation ("under"), and producing compile time errors when one is used incorrectly.
Splitting the category seems like the most obvious and simple solution, including "simple to reason about" and "simple to understand for the writer" and "simple to understand for the reader".

Additional context
n/a

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

No branches or pull requests

1 participant