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

Revisit dynamic dispatch based on types #13

Open
c3d opened this issue Feb 7, 2020 · 0 comments
Open

Revisit dynamic dispatch based on types #13

c3d opened this issue Feb 7, 2020 · 0 comments

Comments

@c3d
Copy link
Owner

c3d commented Feb 7, 2020

Dynamic dispatch is currently somewhat implemented both in the compiler and interpreter.

However, given recent evolutions of the language, notably with respect to pattern matching, this code needs to be seriously revisited.

Key changes:

  • Support for type inheritance / implicit conversions (two passes)
  • Support for metaboxes (issue Implement metabox notation #10) in patterns
  • Smarter dispatch in maps for common cases, e.g. contiguous values (ideally, turn that to "switch" statements in LLVM IR and let the switch optimizer do its magic).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant