Skip to content

[WIP] feat: add trait declarations, implementations, and vtable dispatch#574

Draft
wirelesseye wants to merge 4 commits into
pschachte:masterfrom
wirelesseye:feat/trait
Draft

[WIP] feat: add trait declarations, implementations, and vtable dispatch#574
wirelesseye wants to merge 4 commits into
pschachte:masterfrom
wirelesseye:feat/trait

Conversation

@wirelesseye

@wirelesseye wirelesseye commented Jun 23, 2026

Copy link
Copy Markdown

Introduce trait-constrained type variables, abstract/default trait procedures, implementation validation, overload specificity, and LLVM vtable generation.

See WYBE.md for a description of this feature.

Closes #538

@jimbxb jimbxb left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This seems pretty cool. I'll try properly review it in some time

Comment thread src/Clause.hs Outdated
Comment thread src/LLVM.hs Outdated
@wirelesseye

wirelesseye commented Jun 24, 2026

Copy link
Copy Markdown
Author

Convert to draft as the ABI differences between abstract and concrete procedures may cause issues on certain platforms (including arm64). Further work is needed to resolve this issue.

@wirelesseye wirelesseye marked this pull request as draft June 24, 2026 04:43
@wirelesseye wirelesseye changed the title feat: add trait declarations, implementations, and vtable dispatch [WIP] feat: add trait declarations, implementations, and vtable dispatch Jun 24, 2026
Introduce trait-constrained type variables, abstract/default trait procedures,
implementation validation, overload specificity, and LLVM vtable generation.
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.

Support bounded type quantification (type classes or interfaces or abstract types)

2 participants