-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support Dynamic Dispatch Over Contract Impls Defined in Dep Modules
This enables generic procedures with requires clauses to be called via oneof concrete type params if all combinations are valid contract impls. This allows the monomorphization to defer to the contract's generated dynamic dispatch helper procedure as internally. This functionality allows Claro's generic procedures to be as expressive as any procedure in a Java-like OO language accepting some super-type and dynamically dispatching to any overridden method on whatever concrete subtype it receives. And *importantly it does this WITHOUT introducing any notion of subtyping to the language*!! +1000 for minimizing complexity.
- Loading branch information
1 parent
5c528c3
commit ff5f1fc
Showing
3 changed files
with
42 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters